What does Nginx proxy_read_timeout measure?
It limits the time between successive reads from the upstream. It is not a general application execution-time guarantee.
Nginx / Envoy · HTTP 504
Trace Nginx 504 to an upstream that fails to connect or return headers before proxy timeouts. Inspect application latency, queues, and dependencies.
Origin / Application
Paste a captured HTTP response or enter a status and headers. Only the status and response headers are sent; common credential headers are filtered first.
Diagnostic report
Error code / name
Fault domain
Origin / ApplicationNginx did not receive a timely upstream response. The connection may be slow to establish, or the application may be blocked on a worker, database, or downstream service.
Nginx did not receive a timely upstream response. The connection may be slow to establish, or the application may be blocked on a worker, database, or downstream service.
Client -> Nginx -> upstream receives request -> no response before proxy_read_timeout -> X 504curl -sS -I -w 'connect=%{time_connect} starttransfer=%{time_starttransfer} total=%{time_total}\n' --max-time 90 https://example.com/healthlocation /api/ {
proxy_connect_timeout 3s;
proxy_send_timeout 30s;
proxy_read_timeout 30s;
proxy_pass http://app;
}SteadyNode tracks time-to-first-byte and gateway status from outside the origin, exposing latency trends before proxy_read_timeout produces repeated 504 errors.
No credit card required.
Start for freeIt limits the time between successive reads from the upstream. It is not a general application execution-time guarantee.
No. Measure the upstream first; use a larger timeout only for expected long responses and keep client and dependency limits aligned.