2

我们在 K8S pod 中部署了一个服务和一个 Envoy sidecar。所有入口和出口流量都通过 Envoy,效果很好。但是,我们的生产环境被锁定,所有 HTTP/HTTPS 流量都必须通过标准http_proxyhttps_proxy环境变量提供的代理。

Envoy 使用过滤器路由请求http_connection_manager,引用定义在clusters.

有没有办法让 Envoy 使用代理服务器来处理其出口 http 流量?使用https_proxy环境变量或以其他方式定义出口 https 代理。

4

1 回答 1

0

您可以根据代理的域名为代理定义一个集群:

- name: example_proxy
  connect_timeout: 5s
  type: LOGICAL_DNS
  hosts: [{ socket_address: { address: proxy.example.com, port_value: 80 }}]

或代理的 IP 地址:

- name: example_proxy_ipv4
  connect_timeout: 5s
  type: STATIC
  hosts: [{ socket_address: { address: 192.0.2.1, port_value: 80 }}]

然后使用http_connection_manager过滤器将所有与其他规则不匹配的流量路由到该集群。

于 2019-10-18T12:30:56.653 回答