Skip to main content

Timeouts Settings

This reference covers all of Pomerium's Timeouts Settings:

Websocket Connections

If set, enables proxying of websocket connections.

danger

Use with caution: websockets are long-lived connections, so global timeouts are not enforced (though the policy-specific timeout is enforced). 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.

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

How to configure

YAML/JSON settingTypeUsageDefault
idle_timeoutstring (Go Duration formatting)optional5m

Examples

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