Skip to main content

TLS Support For Phoenix Server#

Phoenix now supports Transport Layer Security (TLS) for both HTTP and gRPC connections, enabling encrypted communication and optional mutual TLS (mTLS) authentication. This enhancement provides a more secure foundation for production deployments.

Highlights:#

  • Secure HTTP & gRPC Connections: Phoenix can now serve over HTTPS and secure gRPC.
  • Flexible TLS Configuration: TLS settings are managed via environment variables.
  • Optional Client Verification: Support for mTLS with configurable client certificate validation.
  • Improved Testing: TLS-aware infrastructure added to integration tests.
  • Better Visibility: Server startup logs now display TLS status.

Configuration Options#

Set the following environment variables to enable and customize TLS:

VariableTypeDescription
PHOENIX_TLS_ENABLEDbooleanEnable or disable TLS (true/false)
PHOENIX_TLS_CERT_FILEstringPath to TLS certificate file
PHOENIX_TLS_KEY_FILEstringPath to private key file
PHOENIX_TLS_KEY_FILE_PASSWORDstringPassword for encrypted private key file
PHOENIX_TLS_CA_FILEstringPath to CA certificate (for client verification)
PHOENIX_TLS_VERIFY_CLIENTbooleanEnable client cert verification
Info

Note: Encrypted private keys require the cryptography Python package for decryption.