TLS (Server)
Block name | Context | Label |
---|---|---|
tls | Server Block | no |
The tls
block allows to configure one or more server certificates in the first place.
The certificates will be served on all ports within the hosts
list. Enabling tls
also enables the upgrade option to the HTTP2
protocol.
The simplest configuration is an empty
tls {}
block which will serve a self signed certificate for local development.
Multiple server_certificate
or client_certificate
blocks are allowed.
mTLS
Once a client_certificate
block is defined the server automatically requests and verify a certificate from the client.
Example
server "couper" {
hosts = ["*:443"]
tls {
server_certificate "api.example.com" {
public_key_file = "couperServer.crt" # PEM
private_key_file = "couperServer.key" # PEM
}
# mTLS
client_certificate "IOT" {
ca_certificate_file = "couperIntermediate.crt" # PEM
# OR(AND!)
leaf_certificate_file = "couperClient.crt" # PEM
}
}
Nested Blocks
Name | Description |
---|---|
client_certificate | Configures a client certificate (zero or more). |
server_certificate | Configures a server certificate (zero or more). |