exemple de envoy.yaml pour la réécriture de http et https

Ceci est un premier exemple de travail avec envoy. Je trouve que la documentation est difficile à consulter, c'est pourquoi j'essaierai de suivre mes progrès par des billets de blog peu fréquents sur le sujet.

Le fichier envoy.yaml suivant fonctionne pour moi pour la réécriture http et https vers google :

ressources_statiques :
   des auditeurs :
   - l'adresse :
       adresse_socle :
         adresse : 0.0.0.0
         valeur_du_port : 80
     chaînes de filtres :
     - filtres :
       - nom : envoy.http_connection_manager
         config :
           codec_type : auto
           stat_prefix : ingress_http
           route_config :
             nom : local_route
             virtual_hosts :
             - nom : local_service
               domaines : ["*"]
               routes :
               - match : { préfixe : "/" }
                 route : { host_rewrite : www.google.com, cluster : service_google }
           http_filters :
           - nom : envoy.router
   - l'adresse :
       adresse_socle :
         adresse : 0.0.0.0
         port_value : 443
     chaînes de filtres :
     - tls_context :
         common_tls_context :
           tls_certificats :
           - certificate_chain : { filename : "/etc/example-com.crt" }
             private_key : { filename : "/etc/example-com.key" }
       filtres :
       - nom : envoy.http_connection_manager
         config :
           stat_prefix : ingress_https
           route_config :
             virtual_hosts :
             - nom : default
               domaines : ["*"]
               routes :
               - match : { préfixe : "/" }
                 route : { host_rewrite : www.google.com, cluster : service_foo }
           http_filters :
           - nom : envoy.router
   clusters :
   - nom : service_google
     connect_timeout : 0.25s
     type : LOGICAL_DNS
     dns_lookup_family : V4_ONLY
     lb_policy : round_robin
     hôtes : [{adresse_socket : {adresse : google.com, valeur_port : 443 }]]
     tls_context : { sni : www.google.com }
   - nom : service_foo
     connect_timeout : 0.25s
     type : LOGICAL_DNS
     dns_lookup_family : V4_ONLY
     lb_policy : round_robin
     hôtes : [{adresse_socket : {adresse : google.com, valeur_port : 443 }]]
     tls_context : { sni : www.google.com }
admin :
   access_log_path : "/tmp/envoy.log"
   l'adresse :
     adresse_socle :
       adresse : 0.0.0.0
       valeur_du_port : 9901