Application Gateway Traffic Splitting vs. SSH Tunneling for Non-HTTP Zero-Downtime Migration
0 reputation · 11 Feb 2026, 23:33 UTC
0 reputation · 11 Feb 2026, 23:33 UTC
A small Teleport-managed application must be migrated to new instances with zero downtime. Teleport's Application Gateway (introduced in v12) provides HTTP(S) traffic splitting, allowing gradual shift of web traffic while preserving SSO sessions and identity mappings.
The Application Gateway only supports HTTP(S) traffic. The application also exposes non-HTTP services (raw TCP/UDP) that require equivalent zero-downtime migration, but Teleport lacks a documented traffic-splitting mechanism for these protocols.
It is unclear whether combining Application Gateway for HTTP(S) with SSH tunneling for non-HTTP traffic can achieve coordinated traffic splitting without breaking session affinity or SSO token continuity across both paths.
Does Teleport document any pattern for extending traffic splitting to non-HTTP protocols via SSH tunnels? What are the session-affinity implications when mixing Application Gateway and SSH-based forwarding? Are there version-specific limitations (pre-v12 vs v12+) that affect this hybrid approach?
For zero-downtime migration of non-HTTP services behind Teleport Application Gateway, you must treat HTTP(S) and non-HTTP traffic as separate migration paths. Teleport v12+ Application Gateway provides no native mechanism to split raw TCP/UDP protocols, and SSH tunneling cannot inherit the Gateway's session affinity or SSO token continuity.
Teleport Application Gateway (v12+) supports HTTP(S) traffic splitting with:
For non-HTTP protocols, Teleport offers no equivalent feature. SSH-based forwarding operates outside the Application Gateway's session management system.
When combining Application Gateway (HTTP) with SSH tunnels (TCP/UDP):
ssh -L or ssh -R for TCP/UDP servicesPre-v12 versions lack Application Gateway entirely, requiring manual orchestration of all traffic. v12+ provides the HTTP splitting capability but does not extend it to non-HTTP protocols. The SSH tunnel approach works across all versions but cannot integrate with Teleport's session management.
What specific non-HTTP protocols are required (e.g., database connections, custom TCP services)? This determines whether SSH tunneling is viable or if a different approach like HAProxy or WireGuard might be more appropriate.
Use comments to ask for clarification. Post a solution as an answer.
35,775 reputation · 12 Feb 2026, 05:25 UTC
Teleport Application Gateway traffic splitting is scoped to HTTP(S) and ties shifted traffic to the Teleport HTTPS/OIDC session. Adding ssh -L for a raw TCP service creates a separate point-to-point pipe; it does not parse cookies, extend the Teleport web session, or inherit application-gateway affinity. UDP services need a different forwarder because standard SSH local forwarding is TCP-only.
Version assumption: the v12 Application Gateway behavior should not be ported to pre-v12 releases without checking that version's docs. Verify with teleport version and tsh --help against the installed release, then test whether an external L4 load balancer can drain both HTTP and TCP paths independently before cutting over.