Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Deployment-configured TLS interception exemptions

TLS interception currently terminates TLS and parses the decrypted stream as HTTP. Non-HTTP TLS protocols (for example TURN-over-TLS) can therefore receive an HTTP 400 response and a closed connection. Deployment-configured exemptions are a stopgap that leaves selected TLS streams encrypted end-to-end, not protocol-aware interception.

Set SPACE_TLS_INTERCEPTION_EXEMPTIONS to the same JSON array on both the API service and the cluster-controller process that executes queued operations:

[{"domain":"relay.example.test"},{"wildcard_domain":"*.relay.example.test"}]

Both processes validate this configuration at initialization, including cluster-controller standbys before leader election. Unset means disabled; empty, malformed, invalid-domain, and non-hostname destinations fail startup. There is no built-in destination list. Wildcards match leading-label suffixes, not arbitrary patterns, and do not match the suffix's apex domain.

For sandbox creation and network-policy updates, configured destinations are appended only when the effective policy has tls_interception: "on". Existing exemptions are preserved and duplicate additions are skipped. An inherited template policy becomes a sandbox override only when composition adds an exemption. The API composes E2B-translated creates; the cluster-controller composes queued native/admin creates (including admitted warm-pool claims), policy updates and resets to the template default, and disk fork targets. Restoring an existing sandbox retains its persisted policy; this setting does not retroactively rewrite existing sandboxes or template defaults. Policy updates can apply it to existing sandboxes.

This setting never adds egress allows (including DNS resolver allows) or changes denies. Exemption does not grant network access. Hostname exemption matching requires gateway DNS attribution: the guest must resolve via the reserved resolvers 8.8.8.8 or 1.1.1.1, and its existing policy must permit the required DNS and destination traffic. A custom DNS client still qualifies when it sends queries through those resolvers; SNI alone is not attribution. DNS-over-HTTPS, other resolvers, expired attribution, or cached addresses without observed DNS can leave interception enabled.

Before enabling, all policy readers and worker gateways must support tls_interception_exemptions. Removing the environment variable from both processes and rolling their replicas stops future composition but does not remove exemptions already persisted in sandbox overrides; remove those explicitly to roll back existing sandboxes.