Skip to content

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

On 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.

HTTP/1.1 keep-alive and upstream TCP keepalive. Applies only to HTTP/1.1; HTTP/2 connections are always persistent.