Skip to content

Instantly share code, notes, and snippets.

@frohoff
Created February 19, 2022 00:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save frohoff/9bd7d0e6f2b5f1c7bec32b44a0a6d01d to your computer and use it in GitHub Desktop.
Save frohoff/9bd7d0e6f2b5f1c7bec32b44a0a6d01d to your computer and use it in GitHub Desktop.
Envoy Optional mTLS
static_resources:
listeners:
- name: listener_0
address:
socket_address:
address: 0.0.0.0
port_value: 443
filter_chains:
- filters:
- name: envoy.filters.network.http_connection_manager
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
forward_client_cert_details: SANITIZE_SET
set_current_client_cert_details:
cert: true
stat_prefix: ingress_http
access_log:
- name: envoy.access_loggers.stdout
typed_config:
"@type": type.googleapis.com/envoy.extensions.access_loggers.stream.v3.StdoutAccessLog
http_filters:
- name: envoy.filters.http.router
route_config:
name: local_route
virtual_hosts:
- name: local_service
domains: ["*"]
routes:
- match:
prefix: "/"
route:
cluster: service_httbin
transport_socket:
name: envoy.transport_sockets.tls
typed_config:
"@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext
# require_client_certificate: true
common_tls_context:
tls_certificates:
- certificate_chain: { filename: "/etc/envoy/proxy.pem" }
private_key: { filename: "/etc/envoy/proxy-key.pem" }
validation_context:
trusted_ca:
filename: /etc/envoy/ca.pem
clusters:
- name: service_httbin
type: LOGICAL_DNS
dns_lookup_family: V4_ONLY
load_assignment:
cluster_name: service_httbin
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: httpbin
port_value: 80
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment