Skip to main content

Timeouts Settings

This reference covers all of Pomerium's Timeouts Settings:

Websocket Connections​

If set, enables proxying of websocket connections.

warning

Use with caution: websockets are long-lived connections, so both the route timeout and idle timeout are automatically disabled (set to 0) unless explicitly configured. Allowing websocket connections to the proxy could result in abuse via DOS attacks.

How to configure​

YAML/JSON settingTypeDefault
allow_websocketsbooleanfalse

Examples​

allow_websockets: true

SPDY​

If set, SPDY enables proxying of SPDY protocol upgrades.

How to configure​

YAML/JSON settingTypeDefault
allow_spdybooleanfalse

Examples​

allow_spdy: true

Route Timeout​

Route Timeout establishes the per-route timeout value. Cannot exceed global timeout values. If unset, the route inherits the global default_upstream_timeout (default 30s).

For routes with websockets enabled, or for TCP, UDP, and Kubernetes routes, the route timeout is automatically set to 0 (disabled) unless explicitly configured via this setting.

How to configure​

YAML/JSON settingTypeUsageDefault
timeoutstring (Go Duration formatting)optional30s

Examples​

timeout: 30s

Idle Timeout​

If you are proxying long-lived requests that employ streaming calls such as websockets or gRPC, set Idle Timeout to either a maximum value there may be no data exchange over a connection (recommended), or set it to unlimited (0s).

If idle_timeout is specified, and route timeout is not explicitly set, then the route timeout would be unlimited (0s). You still may specify maximum lifetime of the connection using the route timeout value (i.e. to 1 day).

For routes with websockets enabled, or for TCP, UDP, and Kubernetes routes, the idle timeout is automatically set to 0 (disabled) unless explicitly configured via this setting.

How to configure​

YAML/JSON settingTypeUsageDefault
idle_timeoutstring (Go Duration formatting)optionalnot set

Examples​

routes:
- from: https://verify.localhost.pomerium.io
to: http://verify:8000
timeout: 1m
idle_timeout: 5m