You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Enforce Client Certificate Authentication on the backend
48
48
49
-
Patch the existing quickstart backend to enforce Client Certificate Authentication. The patch will mount the server certificate and key required for TLS, and the CA certificate into the backend as volumes.
49
+
Patch the existing quickstart backend to enforce Client Certificate Authentication. The patch will mount the server certificate and key required for TLS, and the CA certificate into the backend as volumes.
## Configure Envoy Proxy to use a client certificate
85
+
## Configure Envoy Proxy to use a client certificate
86
86
87
-
In addition to enablement of backend TLS with the Gateway-API BackendTLSPolicy, Envoy Gateway supports customizing TLS parameters such as TLS Client Certificate.
88
-
To achieve this, the [EnvoyProxy][] resource can be used to specify a TLS Client Certificate.
87
+
Envoy Gateway supports two ways to configure client certificates for backend mTLS.
88
+
* Configure the [EnvoyProxy][] resource to specify a client certificate globally.
89
+
* Configure a [Backend][] resource to specify a client certificate per backend.
89
90
90
-
First, you need to add ParametersRef in GatewayClass, and refer to EnvoyProxy Config:
91
+
### Configure EnvoyProxy
92
+
93
+
The [EnvoyProxy][] resource can be used to specify a client certificate globally for a GatewayClass or Gateway.
94
+
95
+
The following example shows how to configure a GatewayClass to reference an EnvoyProxy resource with a client certificate.
96
+
97
+
First, add a parametersRef field in the GatewayClass to reference the EnvoyProxy configuration:
91
98
92
99
{{< tabpane text=true >}}
93
100
{{% tab header="Apply from stdin" %}}
@@ -142,7 +149,7 @@ metadata:
142
149
namespace: envoy-gateway-system
143
150
spec:
144
151
backendTLS:
145
-
clientCertificateRef:
152
+
clientCertificateRef:
146
153
kind: Secret
147
154
name: example-client-cert
148
155
namespace: envoy-gateway-system
@@ -171,6 +178,151 @@ spec:
171
178
{{% /tab %}}
172
179
{{< /tabpane >}}
173
180
181
+
### Configure a Backend Resource
182
+
183
+
When multiple backends require distinct client certificates, configure each one using a dedicated [Backend][] resource that includes its own client certificate reference.
184
+
TLS settings defined in the Backend resource take precedence over the defaults set in EnvoyProxy.backendTLS.
185
+
186
+
Before creating Backend resources, make sure the Backend API is enabled in the Envoy Gateway configuration (see [Backend Routing](../traffic/backend#enable-backend) for full details). If it is not already enabled, update the `envoy-gateway-config` ConfigMap as shown below:
0 commit comments