Tcp Timeouts

TCP proxy with session and max duration timeouts. tcp_session_timeout_ms wraps the entire TCP forwarding session in a hard deadline, terminating connections after the threshold regardless of activity. tcp_max_duration_secs caps the total session duration in seconds

Category: Setup-dependent integration
Task: TCP proxy with session and max duration timeouts. tcp_session_timeout_ms wraps the entire TCP forwarding session in a hard deadline, terminating connections after the threshold regardless of activity. tcp_max_duration_secs caps the total session duration in seconds

Prerequisites: The external service, credentials, or certificates referenced by this configuration.

This configuration comes from the selected release. The example has not been run here; external services are not bundled.

Download the source file.

# TCP Timeouts
#
# TCP proxy with session and max duration timeouts.
# `tcp_session_timeout_ms` wraps the entire TCP
# forwarding session in a hard deadline, terminating
# connections after the threshold regardless of
# activity. `tcp_max_duration_secs` caps the total
# session duration in seconds.
#
# Both are optional. Without them, TCP sessions run
# until either side closes the connection.
#
#   Client -> TCP -> Praxis :5432 -> TCP -> PostgreSQL :15432
#
# Usage:
#   cargo run -p praxis-proxy -- -c examples/configs/protocols/tcp-timeouts.yaml

insecure_options:
  allow_private_upstreams: true

listeners:
  - name: postgres
    address: "127.0.0.1:5432"
    protocol: tcp
    upstream: "127.0.0.1:15432"
    tcp_session_timeout_ms: 300000 # 5 minutes
    tcp_max_duration_secs: 3600 # 1 hour