envoy.yaml Beispiel für http und https Rewriting
Dies ist ein erstes Beispiel für die Arbeit mit envoy. Ich finde es schwierig, in die Dokumentation einzusteigen, daher werde ich versuchen, meine Fortschritte in unregelmäßigen Blogbeiträgen zu verfolgen.
Die folgende envoy.yaml funktioniert bei mir für http und https Rewriting zu Google:
statische_Ressourcen:
Hörer:
- Adresse:
socket_address:
Adresse: 0.0.0.0
port_wert: 80
filter_chains:
- Filter:
- Name: envoy.http_connection_manager
Konfiguration:
codec_type: auto
stat_prefix: ingress_http
route_config:
Name: lokale_Route
virtuelle_hosts:
- Name: local_service
Domänen: ["*"]
Routen:
- übereinstimmen: { prefix: "/" }
route: { host_rewrite: www.google.com, cluster: service_google }
http_filters:
- Name: envoy.router
- Adresse:
socket_address:
Adresse: 0.0.0.0
port_wert: 443
filter_chains:
- tls_context:
common_tls_context:
tls_zertifikate:
- certificate_chain: { filename: "/etc/example-com.crt" }
private_key: { Dateiname: "/etc/example-com.key" }
Filter:
- Name: envoy.http_connection_manager
Konfiguration:
stat_prefix: ingress_https
route_config:
virtuelle_hosts:
- Name: Standard
Domänen: ["*"]
Routen:
- übereinstimmen: { prefix: "/" }
route: { host_rewrite: www.google.com, cluster: service_foo }
http_filters:
- Name: envoy.router
Clustern:
- Name: dienst_google
connect_timeout: 0.25s
Typ: 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 }
- Name: dienstleistung_foo
connect_timeout: 0.25s
Typ: 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 }
admin:
access_log_path: "/tmp/envoy.log"
Adresse:
socket_address:
Adresse: 0.0.0.0
port_wert: 9901