Ejemplo de envoy.yaml para reescribir http y https

Este es un primer ejemplo de trabajo con envoy. Me parece que la documentación es difícil de entrar, por lo tanto, voy a tratar de seguir mi progreso por medio de publicaciones infrecuentes en el blog sobre el tema.

El siguiente envoy.yaml me funciona para la reescritura http y https hacia google:

static_resources:
   oyentes:
   - dirección:
       dirección_de_socket:
         dirección: 0.0.0.0
         valor_puerto: 80
     cadenas_de_filtro:
     - filtros:
       - nombre: envoy.http_connection_manager
         configurar:
           codec_type: auto
           stat_prefix: ingress_http
           route_config:
             nombre: ruta_local
             virtual_hosts:
             - nombre: servicio_local
               dominios: ["*"]
               rutas:
               - coincidencia: { prefijo: "/" }
                 ruta: { host_rewrite: www.google.com, cluster: service_google }
           http_filters:
           - nombre: envoy.router
   - dirección:
       dirección_de_socket:
         dirección: 0.0.0.0
         valor_de_puerto: 443
     cadenas_de_filtro:
     - tls_context:
         common_tls_context:
           tls_certificados:
           - cadena_certificada: { nombre de archivo: "/etc/ejemplo-com.crt" }
             private_key: { nombre de archivo: "/etc/ejemplo-com.key" }
       filtros:
       - nombre: envoy.http_connection_manager
         configurar:
           stat_prefix: ingress_https
           route_config:
             virtual_hosts:
             - nombre: por defecto
               dominios: ["*"]
               rutas:
               - coincidencia: { prefijo: "/" }
                 ruta: { host_rewrite: www.google.com, cluster: service_foo }
           http_filters:
           - nombre: envoy.router
   racimos:
   - nombre: servicio_google
     connect_timeout: 0.25s
     tipo: LOGICAL_DNS
     dns_lookup_family: V4_ONLY
     lb_policy: round_robin
     hosts: [{ dirección_de_socket: { dirección: google.com, valor_de_puerto: 443 }}]
     tls_context: { sni: www.google.com }
   - nombre: service_foo
     connect_timeout: 0.25s
     tipo: LOGICAL_DNS
     dns_lookup_family: V4_ONLY
     lb_policy: round_robin
     hosts: [{ dirección_de_socket: { dirección: google.com, valor_de_puerto: 443 }}]
     tls_context: { sni: www.google.com }
admin:
   access_log_path: "/tmp/envoy.log"
   dirección:
     dirección_de_socket:
       dirección: 0.0.0.0
       valor_puerto: 9901