在 Istio 中注册企业 CONNECT 代理的 TCP 跳
对代理监听器使用 sidecar 模式的外部代理 ServiceEntry 模式,同时保持应用侧的代理选择与目标授权相互独立。
对于已经选择企业 CONNECT 代理的工作负载,sidecar 会看到指向该监听器的连接。按照文档中的 sidecar 外部代理模式,把第一跳路由注册为 TCP:
apiVersion: networking.istio.io/v1
kind: ServiceEntry
metadata:
name: corporate-forward-proxy
spec:
hosts:
- proxy.corp.example
addresses:
- 203.0.113.10/32
ports:
- number: 3128
name: tcp-proxy
protocol: TCP
location: MESH_EXTERNAL
resolution: NONE把 IP 和端口替换为实际的代理端点。此示例按地址匹配 TCP;hosts 并不选择隧道内的加密网站。
应用仍然需要它支持的代理输入,例如兼容客户端使用 HTTPS_PROXY=http://203.0.113.10:3128。ServiceEntry 不会让未配置的应用发出代理请求。
注册这条代理路由,而不是它之后要隧道到的每个网站。转发代理打开后续连接,并决定账号和请求的目标是否被允许。针对第一跳 TCP 的 mesh 授权既不会提供该代理授权,也不会给应用任何选路指令。