A short freshness lifetime and a cache-fill lock solve different parts of a traffic burst.

A microcache serves fresh entries briefly and coalesces misses explicitly

A microcache keeps reusable responses for a short freshness lifetime, often a few seconds. Requests for the same selected representation can reuse a fresh entry during that window. The response might lag a new origin update, but it is not HTTP-stale merely because it came from a cache. Expiration, permission to serve stale content, and concurrent cache filling are separate policies. ...

March 12, 2028 · 6 min · XB Field Notes
Observe-decide-act boxes beside the message: Open the tunnel, verify the endpoint.

The CONNECT method opens a raw tunnel

CONNECT asks a proxy to establish a tunnel; it does not make the proxy disappear from the data path. After admission, the proxy still forwards bytes in both directions and owns sockets, buffers, and failure handling. CONNECT itself provides no encryption: HTTPS adds a separately verified TLS session through that tunnel. ...

December 13, 2027 · 6 min · XB Field Notes
nginx can forward an unfinished response while buffering; finite storage determines how far it can run ahead.

Response buffering absorbs a speed difference within a resource budget

Response buffering lets nginx read from an upstream while delivering data to a client at another pace. With proxy_buffering on, nginx uses configured memory buffers and can write part of a large response to a temporary file. It need not collect the entire response before sending the first bytes. The available buffering determines how far the two connections can progress independently. ...

December 7, 2027 · 6 min · XB Field Notes
The application receives trustworthy connection context only when the proxy establishes how client-supplied headers are handled.

A reverse proxy needs an explicit header trust boundary

A reverse proxy accepts a client connection and makes a separate request to an upstream application. The application’s socket peer is therefore the proxy, while information about an earlier client can arrive through request headers. Those headers are useful only when the deployment defines who may set them and how they are validated. Proxying a request does not automatically make every forwarded identity or scheme claim trustworthy. ...

August 27, 2027 · 5 min · XB Field Notes
A short-lived copy of the backend answer served from disk.

nginx proxy cache balances stale and fresh

An nginx proxy cache has several independent decisions: identifying the stored response, deciding whether it may be reused, deciding whether a new response may be stored, and handling an expired copy. Treating those decisions as one TTL setting makes failures difficult to explain. Verify the resulting request path and bytes, not merely that nginx accepts the configuration. ...

June 24, 2027 · 6 min · XB Field Notes
The proxy target’s URI component determines which part of the public path reaches the backend.

proxy_pass maps the URI as well as selecting an upstream

nginx proxy_pass chooses an upstream destination and also affects the request URI sent there. The important distinction is whether the directive includes a URI component, not simply whether its text ends with a slash. In an ordinary prefix location, a literal target URI replaces the matching normalized prefix. An authority-only target can pass the original request URI when the request has not been rewritten. ...

April 2, 2027 · 5 min · XB Field Notes
Four requests can use four active connections even when nginx preserves only two idle connections afterward.

Upstream keepalive caches idle connections, not active capacity

An nginx upstream keepalive cache preserves eligible idle backend connections for later requests. In the tested configuration, keepalive 2 permits two idle connections in that upstream cache for each worker. It does not restrict the worker to two active backend connections. Reuse reduces repeated connection setup; it does not itself impose an application concurrency budget or guarantee lower latency for every request. ...

March 15, 2027 · 5 min · XB Field Notes
A controlled proxy route does not automatically protect a backend reachable through another path.

A reverse proxy enforces an entry policy only on traffic that traverses it

A reverse proxy accepts client requests and makes a separate upstream exchange with an application. It can centralize routing, transport, headers, and admission policy when those behaviors are configured. It does not automatically hide every backend interface, authenticate every caller, or terminate TLS. The useful boundary is the actual traffic path and policy applied there, not simply the proxy’s position in a diagram. ...

November 5, 2026 · 6 min · XB Field Notes