envoy.yaml是http和https重写的例子。

这是用envoy工作的一个早期例子。我发现文档很难进入,因此我将尝试通过不定期的博客文章来跟踪我在这个问题上的进展。

下面的envoy.yaml对我来说适用于http和https重写到google。

静态_资源。
   听众。
   - 地址。
       socket_address:
         地址。0.0.0.0
         port_value: 80
     filter_chains。
     - 滤波器。
       - 名称: envoy.http_connection_manager
         配置。
           codec_type: auto
           stat_prefix: ingress_http
           route_config。
             姓名:Local_route
             virtual_hosts。
             - 名称: local_service
               域。["*"]
               航线。
               - 匹配。{前缀。"/" }
                 路线。{ host_rewrite: www.google.com, cluster: service_google }
           http_filters。
           - 名称: envoy.router
   - 地址。
       socket_address:
         地址。0.0.0.0
         port_value:443
     filter_chains。
     - tls_context。
         common_tls_context。
           tls_certificates。
           - certificate_chain: { 文件名: "/etc/example-com.crt" }
             private_key: { filename: "/etc/example-com.key" }
       滤波器。
       - 名称: envoy.http_connection_manager
         配置。
           stat_prefix: ingress_https
           route_config。
             virtual_hosts。
             - 名称:默认
               域。["*"]
               航线。
               - 匹配。{前缀。"/" }
                 路线。{ host_rewrite: www.google.com, cluster: service_foo }
           http_filters。
           - 名称: envoy.router
   集群。
   - 名称: service_google
     connect_timeout:0.25s
     类型。LOGICAL_DNS
     dns_lookup_family。V4_ONLY
     lb_policy: round_robin
     hosts:[{ socket_address: { address: google.com, port_value: 443 }}]
     tls_context:{ sni: www.google.com }
   - 名称: service_foo
     connect_timeout:0.25s
     类型。LOGICAL_DNS
     dns_lookup_family。V4_ONLY
     lb_policy: round_robin
     hosts:[{ socket_address: { address: google.com, port_value: 443 }}]
     tls_context:{ sni: www.google.com }
管理员。
   access_log_path:"/tmp/envoy.log"
   地址。
     socket_address:
       地址。0.0.0.0
       端口_值: 9901