简单的 golang gRPC 客户端/服务器,其中连接使用 envoy 提供的 TLS:
此存储库中描述了两种模式:
client --> (no TLS) --> Envoy --> (TLS) --> Envoy --> (no TLS) --> server
client --> CONNECT (no TLS) --> Envoy --> (TLS) --> Envoy:051 --> (no TLS) --> server
第一种情况是,将常规 TLS 卸载到 envoy,其中只有 envoy->envoy 之间的位使用 TLS。这本质上是您在 Istio 和许多其他系统中看到的 sidecare 模型。
第二个更为罕见,本质上是特使 CONNECT 代理支持的演示。
在这种模式下,envoy 客户端基本上充当 TLS 代理,但使用 CONNECT 设置进行代理。