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