Einfacher Golang-gRPC-Client/Server, bei dem die Konnektivität TLS verwendet, das vom Envoy bereitgestellt wird:
In diesem Repo werden zwei Modi beschrieben:
client --> (no TLS) --> Envoy --> (TLS) --> Envoy --> (no TLS) --> server
client --> CONNECT (no TLS) --> Envoy --> (TLS) --> Envoy:051 --> (no TLS) --> server
Im ersten Fall handelt es sich um Ihre reguläre TLS-Auslagerung an den Envoy, wobei nur der Teil zwischen Envoy und Envoy TLS verwendet. Dies ist im Wesentlichen das Sidecare-Modell, das Sie bei Istio und vielen anderen Systemen sehen.
Der zweite Fall ist viel seltener und stellt im Wesentlichen eine Demonstration der CONNECT-Proxy-Unterstützung der Gesandten dar.
In diesem Modus fungiert der Envoy-Client grundsätzlich als TLS-Proxy, verwendet jedoch die CONNECT-Einstellungen als Proxy.