Glossary
Rsecurity
Reverse proxy
A proxy in front of the transfer origin that terminates client connections.
How it works
It can end TLS, limit body size, and idle-timeout a long POST. Clients talk to it, not to the store. Timeouts here are a common reason a large browser upload fails while a direct API call works.
A 4 GB browser PUT dies at two minutes. The API gateway allows it. The reverse proxy in front of the app does not. Raising that proxy's body timeout fixes the portal. The store was never the limit.
How it differs
A reverse proxy is not the object store. Logs on the proxy may be the only access log if the store sits private.
Buffering a 4 GB body on the proxy disk fills the proxy.
Stream the body.
On the ticket
- The practical close is a log line: time, actor, byte count, result.
- Without that line the transfer is a story.
- With it, the next person can see whether this door did what the ticket claimed.
- If the path is shared, say so in the partner profile so a later change does not silently pick a different limit, key, or region.
- On a real ticket, write down the door, the byte count, and the clock.
- For reverse proxy, that means naming the host or bucket, the expected size, and the time the other side must have a complete file.
- A progress bar is not that record.
- A 200 response that arrives before the complete call is not that record.
- If a retry is allowed, say how many and whether it resumes.
- If a person must approve the send, name the person.
- Partners who receive reverse proxy files should match on hash or size before they import.
- A same-length corrupt file passes a size check and fails a hash.
- Keep the published hash off the only channel an attacker can edit, or treat it as a corruption check rather than a substitution check.
- When the path changes, new key, new region, new cap, update the profile the same day so the next run does not use a stale limit.
Related
Sources
- RFC 9110, HTTP Semantics
Request and response rules