Timeout
The [timeout] section sets connection timeouts and graceful shutdown behavior. Static: applied at startup.
| Key | Default | Description |
|---|---|---|
upstream_connect_ms |
absent (no timeout) | TCP connect to backend (ms). Omitted = no limit. |
proxy_idle_ms |
60000 |
Inbound idle timeout (ms). |
tls_handshake_secs |
15 |
Max time for client TLS handshake. |
connection_handling_secs |
300 |
Max time for full request/response on a connection. |
drain_delay_secs |
0 |
Phase 1 of shutdown: fail /ready (proxy_draining) while the traffic port still accepts. 0 = fail readiness and stop accept together. Size so drain_delay_secs + shutdown_secs is below the orchestrator stop grace. |
shutdown_secs |
30 |
Phase 2: stop accept and drain in-flight connections. /live stays 200 until exit. |
timeout: upstream_connect_ms: 5000 proxy_idle_ms: 60000 drain_delay_secs: 1 tls_handshake_secs: 15 connection_handling_secs: 300 shutdown_secs: 30 keep_alive: enabled: true upstream_idle_timeout: 60[timeout]upstream_connect_ms = 5000proxy_idle_ms = 60000drain_delay_secs = 1tls_handshake_secs = 15connection_handling_secs = 300shutdown_secs = 30
[timeout.keep_alive]enabled = trueupstream_idle_timeout = 60On SIGTERM / SIGINT, /ready fails first (proxy_draining) for drain_delay_secs, then accept stops and in-flight work drains for shutdown_secs. The observability listener stays up until after drain. See Telemetry for /ready bodies.
[timeout.keep_alive]
Section titled “[timeout.keep_alive]”HTTP/1.1 keep-alive and upstream TCP keepalive. Applies only to HTTP/1.1; HTTP/2 connections are always persistent.
Related
Section titled “Related”- Listen: bind addresses and accept backlog
- Configuration overview