簡單的 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 設定進行代理。