Простой клиент/сервер golang gRPC, где для подключения используется TLS, предоставленный посланником:
В этом репозитории описаны два режима:
client --> (no TLS) --> Envoy --> (TLS) --> Envoy --> (no TLS) --> server
client --> CONNECT (no TLS) --> Envoy --> (TLS) --> Envoy:051 --> (no TLS) --> server
В первом случае это обычная разгрузка TLS для посланника, где только бит между посланником->посланником использует TLS. По сути, это та же модель дополнительной поддержки, которую вы видите в Istio и многих других системах.
Второй гораздо более редок и по сути представляет собой демонстрацию поддержки прокси-серверов CONNECT у посланников.
В этом режиме клиент-посланник в основном действует как прокси-сервер TLS, но использует настройки CONNECT для полного прокси.