Skip to content

Commit 1eb01c3

Browse files
committed
update tls docs
1 parent 2c3e130 commit 1eb01c3

1 file changed

Lines changed: 24 additions & 7 deletions

File tree

docs/guides/https.md

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ In this case, the VPC Lattice service automatically generates a managed ACM cert
4949

5050
If you want to use a custom domain name along with its own certificate, follow instructions on [Requesting a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) to create a certificate for your custom domain name in ACM.
5151

52-
Note that only `Terminate` mode is supported (Passthrough is not supported).
52+
Note that only `Terminate` mode is supported for HTTPS listeners. For TLS Passthrough, use a `protocol: TLS` listener with a [TLSRoute](../api-types/tls-route.md) instead.
5353

5454
#### Automatic Certificate Discovery
5555

@@ -138,10 +138,14 @@ spec:
138138

139139
### Enabling TLS connection on the backend
140140

141-
Currently, TLS Passthrough mode is not supported in the controller, but it allows TLS re-encryption to support backends that only allow TLS connections.
142-
To handle this use case, you need to configure your service to receive HTTPs traffic instead:
141+
If your backend pods require TLS connections, you can configure VPC Lattice to re-encrypt traffic before forwarding it to your pods. This is useful when you want VPC Lattice to terminate client-facing TLS (for HTTP routing and inspection) while still encrypting the connection from VPC Lattice to your pods.
143142

144-
```yaml title="target-group.yaml" hl_lines="10"
143+
!!! note
144+
If you want end-to-end passthrough without TLS termination, use a [TLSRoute](../api-types/tls-route.md) with a `protocol: TLS`, `mode: Passthrough` Gateway listener instead. The approach below is for re-encryption, where VPC Lattice terminates and then re-establishes TLS to the backend.
145+
146+
To configure TLS re-encryption, create a `TargetGroupPolicy` with `protocol: HTTPS`:
147+
148+
```yaml title="target-group-policy.yaml" hl_lines="10"
145149
apiVersion: application-networking.k8s.aws/v1alpha1
146150
kind: TargetGroupPolicy
147151
metadata:
@@ -155,7 +159,20 @@ spec:
155159
protocolVersion: HTTP1
156160
```
157161
158-
This will create VPC Lattice TargetGroup with HTTPs protocol option, which can receive TLS traffic.
159-
Note that certificate validation is not supported.
162+
This creates a VPC Lattice target group with HTTPS protocol. Lattice will use TLS when forwarding traffic to your pods.
163+
164+
!!! warning "Health check protocol"
165+
If your pods only accept TLS connections, you **must** also set `healthCheck.protocol: HTTPS` in the TargetGroupPolicy. Health checks default to HTTP, so without this setting they will fail and targets will never become healthy.
166+
167+
```yaml
168+
healthCheck:
169+
protocol: HTTPS
170+
path: /healthz
171+
statusMatch: "200"
172+
```
173+
174+
#### Certificate requirements
175+
176+
VPC Lattice does not validate backend certificates, so self-signed certificates work without any CA or trust bundle configuration. Re-encryption provides transport-level encryption between VPC Lattice and your pods, but does not authenticate the backend server's identity.
160177

161-
For more details, please refer to [TargetGroupPolicy API reference](../api-types/target-group-policy.md).
178+
For more details on TargetGroupPolicy fields, see the [TargetGroupPolicy API reference](../api-types/target-group-policy.md).

0 commit comments

Comments
 (0)