HTTPS and TLS considerations
Use the provided parameters to configure inbound client, server, and REST connections. For the client component, enable either HTTP or HTTPS for inbound connections, not both. Specify the protocol in the client.inbound.protocol parameter. For the server and REST components, you can enable one or both protocols using the boolean parameters server.inbound.http.enabled, server.inbound.https.enabled, rest.inbound.http.enabled, and rest.inbound.https.enabled.
| Traffic | Section | Description |
|---|---|---|
| client inbound | client.inbound | REST calls arriving to client from the Link UI code in web browser |
| server inbound | server.inbound | REST calls arriving to server from client and external REST clients (for example, curl) |
| rest inbound | rest.inbound | REST calls arriving to rest from server and external REST clients (for example, curl) |
| client outbound to server | client.outbound.server | REST calls made by client to server |
| server outbound to rest | server.oubound.rest | REST calls made by server to rest** (for deploying packages) |
| rest outbound to server | rest.outbound.server | REST calls made by rest to server (when delegating authentication to server) |
The key parameter in each section is the secret parameter.
If not set, the connection uses a built-in self-signed certificate and key.
If set, it must specify the name of a Kubernetes Secret that contains:
-
A PEM-encoded custom CA certificate chain (used to validate the certificate presented by the invoked component during the TLS handshake).
-
A certificate and key (used to prove identity when the invoked component requires mutual authentication, or mTLS).
| Key | Value |
|---|---|
ca.crt |
PEM encoded CA certificate chain |
tls.crt |
PEM encoded certificate |
tls.key |
PEM encoded private key |
You can create these Kubernetes Secrets automatically using a certificate management tool such as cert-manager, or manually using existing CA, certificate, and key files.
kubectl create secret generic lnk-server-secret --from-file=ca.crt=ca.crt
--from-file=tls.crt=server.crt --from-file=tls.key=server.k