方案架构
本次实例与官方Envoy front_proxy Example相似,首先会有一个Envoy单独运行。ingress的工作是给其他地方提供一个入口。来自外部的传入连接请求到这里,前端代理将会决定他们在内部的转发路径。
图源自Envoy官网文档 front_proxy
生成证书
text
|
|
envoy配置说明
v3 api中envoy去掉了tls_context
的配置,配置tls首先需要熟悉envoy的如下两个术语
- Downstream:下游主机连接到 Envoy,发送请求并或获得响应。
- Upstream:上游主机获取来自 Envoy 的链接请求和响应。
本次使用的是ingress的代理,需要配置的即为 Downstream
v3api中使用的是transport_socket
,transport_socket为 listeners
当中某一个 filter_chains
中上线文中的配置。
transport_socket
官方说明为:
(config.core.v3.TransportSocket) Optional custom transport socket implementation to use for downstream connections. To setup TLS, set a transport socket with name tls and DownstreamTlsContext in the typed_config. If no transport socket configuration is specified, new connections will be set up with plaintext.查看官网的transport_socket配置说明
这里使用的类型为DownstreamTlsContext
text
|
|
准备envoy和后端服务运行环境
envoy配置文件
text
|
|
docker-compose文件示例
text
|
|
容器启动正常
证书使用者也为生成证书的信息一致