Tcp Tls Termination

TLS on the listener; plain TCP to the upstream backend

Category: Setup-dependent integration
Task: TLS on the listener; plain TCP to the upstream backend

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 TLS Termination
#
# TLS on the listener; plain TCP to the upstream backend.
# Praxis terminates TLS and forwards raw TCP bytes.
# Useful for databases, message brokers, or any non-HTTP
# protocol that needs encryption on the client side.
#
#   Client -> TLS -> Praxis :5432 -> TCP -> PostgreSQL :15432
#
# Usage:
#   mkcert -install && mkcert localhost 127.0.0.1
#   cargo run -p praxis-proxy -- -c examples/configs/protocols/tcp-tls-termination.yaml

insecure_options:
  allow_private_upstreams: true

listeners:
  - name: secure-db
    address: "127.0.0.1:5432"
    protocol: tcp
    upstream: "127.0.0.1:15432"
    tls:
      certificates:
        - cert_path: ./localhost+1.pem
          key_path: ./localhost+1-key.pem