New logic: proxy-ssl parameters can be applied on locations only
Add: new parameter in the ConfigMap to control whether the proxy-ssl parameters of an Ingress should be applied on server and location levels, or only on location level Add: logic in the config handling to work according to the new ConfigMap parameter Add: unit test case
This commit is contained in:
parent
19e9e9d7ed
commit
ced67e53a1
3 changed files with 305 additions and 18 deletions
|
|
@ -494,15 +494,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)
|
||||
if !n.store.GetBackendConfiguration().ProxySSLLocationOnly {
|
||||
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)
|
||||
}
|
||||
} else {
|
||||
klog.V(3).Infof("Server %q is already configured for client cert authentication (Ingress %q)",
|
||||
server.Hostname, ingKey)
|
||||
}
|
||||
|
||||
if rule.HTTP == nil {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue