envoy.yaml voorbeeld voor http en https herschrijven
Dit is een vroeg voorbeeld van het werken met envoy. Ik vind de documentatie moeilijk om in te duiken, daarom zal ik proberen mijn vorderingen bij te houden door onregelmatige blog posts over de materie.
De volgende envoy.yaml werkt voor mij voor http en https herschrijven naar google:
static_resresources:
luisteraars:
- adres:
socket_address:
adres: 0.0.0.0
port_value: 80
filter_ketens:
- filters:
- naam: envoy.http_connection_manager
config:
codec_type: auto
stat_prefix: ingress_http
route_config:
naam: local_route
virtual_hosts:
- naam: local_service
domeinen: ["*"]
routes:
- match: { prefix: "/" }
route: { host_rewrite: www.google.com, cluster: service_google }
http_filters:
- naam: envoy.router
- adres:
socket_address:
adres: 0.0.0.0
port_value: 443
filter_ketens:
- tls_context:
common_tls_context:
tls_certificaten:
- certificate_chain: { bestandsnaam: "/etc/example-com.crt" }
private_key: { bestandsnaam: "/etc/voorbeeld-com.key" }
filters:
- naam: envoy.http_connection_manager
config:
stat_prefix: ingress_https
route_config:
virtual_hosts:
- naam: standaard
domeinen: ["*"]
routes:
- match: { prefix: "/" }
route: { host_rewrite: www.google.com, cluster: service_foo }
http_filters:
- naam: envoy.router
clusters:
- naam: service_google
connect_timeout: 0.25s
type: 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 }
- naam: service_foo
connect_timeout: 0.25s
type: 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"
adres:
socket_address:
adres: 0.0.0.0
port_value: 9901