Add proxy_ssl_* directives
Add support for backends which require client certificate (eg. NiFi) authentication. The `proxy-ssl-secret` k8s annotation references a secret which is used to authenticate to the backend server. All other directives fine tune the backend communication. The following annotations are supported: * proxy-ssl-secret * proxy-ssl-ciphers * proxy-ssl-protocol * proxy-ssl-verify * proxy-ssl-verify-depth
This commit is contained in:
parent
589c9a20f9
commit
def13fc06c
8 changed files with 476 additions and 0 deletions
|
|
@ -481,6 +481,17 @@ func (n *NGINXController) getBackendServers(ingresses []*ingress.Ingress) ([]*in
|
|||
server.Hostname, ingKey)
|
||||
}
|
||||
|
||||
if server.ProxySSL.CAFileName == "" {
|
||||
server.ProxySSL = anns.ProxySSL
|
||||
if server.ProxySSL.Secret != "" && server.ProxySSL.CAFileName == "" {
|
||||
klog.V(3).Infof("Secret %q has no 'ca.crt' key, client cert authentication disabled for Ingress %q",
|
||||
server.ProxySSL.Secret, ingKey)
|
||||
}
|
||||
} else {
|
||||
klog.V(3).Infof("Server %q is already configured for client cert authentication (Ingress %q)",
|
||||
server.Hostname, ingKey)
|
||||
}
|
||||
|
||||
if rule.HTTP == nil {
|
||||
klog.V(3).Infof("Ingress %q does not contain any HTTP rule, using default backend", ingKey)
|
||||
continue
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue