You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The proxy supports transporting "opaque" TCP streams, but it cannot do
so with mTLS. Because we cannot perform protocol detection (including
mTLS discovery) on server-first or otherwise idle TCP streams, we have
no reliable way to instrument mTLS on these connections.
This change leverages a new discovery API that annotates an
`OpaqueTransport` hint for targets that are marked opaque but have a
Linkerd proxy. This hint includes the inbound port of the target proxy
and, when specified, configures the outbound proxy to:
1. Connect directly to the inbound port (instead of the original target
port).
2. Write an "opaque transport header"--a special protocol marker and a
length-delimited protobuf message including the original target port.
This allows the inbound proxy to perform TLS discovery for these
streams; and then the inbound proxy is able to route the connection to
the proper application port as informed by the connection header.
This change, effectively, wraps arbitrary, opaque TCP streams in a
client-first TCP protocol so that inbound proxies can perform mTLS
detection.
This change does **not** extend the proxy's gateway mode to transport
these connections. This change will be done in a followup.
0 commit comments