From e767fad2e6435bd175e8f3b42c1abb8f403b2fa9 Mon Sep 17 00:00:00 2001 From: Manuel Alejandro de Brito Fontes Date: Tue, 25 Jun 2019 07:49:00 -0400 Subject: [PATCH] Do not send empty certificates to nginx --- internal/ingress/controller/nginx.go | 11 +++++++++-- internal/ingress/sslcert.go | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/internal/ingress/controller/nginx.go b/internal/ingress/controller/nginx.go index 4d32cc73f..8892cf7e8 100644 --- a/internal/ingress/controller/nginx.go +++ b/internal/ingress/controller/nginx.go @@ -994,6 +994,10 @@ func configureCertificates(pcfg *ingress.Configuration) error { var servers []*ingress.Server for _, server := range pcfg.Servers { + if server.SSLCert.PemCertKey == "" { + continue + } + servers = append(servers, &ingress.Server{ Hostname: server.Hostname, SSLCert: ingress.SSLCert{ @@ -1001,8 +1005,7 @@ func configureCertificates(pcfg *ingress.Configuration) error { }, }) - if server.Alias != "" && server.SSLCert.PemCertKey != "" && - ssl.IsValidHostname(server.Alias, server.SSLCert.CN) { + if server.Alias != "" && ssl.IsValidHostname(server.Alias, server.SSLCert.CN) { servers = append(servers, &ingress.Server{ Hostname: server.Alias, SSLCert: ingress.SSLCert{ @@ -1014,6 +1017,10 @@ func configureCertificates(pcfg *ingress.Configuration) error { redirects := buildRedirects(pcfg.Servers) for _, redirect := range redirects { + if redirect.SSLCert.PemCertKey == "" { + continue + } + servers = append(servers, &ingress.Server{ Hostname: redirect.From, SSLCert: ingress.SSLCert{ diff --git a/internal/ingress/sslcert.go b/internal/ingress/sslcert.go index 4b585a583..03f139393 100644 --- a/internal/ingress/sslcert.go +++ b/internal/ingress/sslcert.go @@ -43,7 +43,7 @@ type SSLCert struct { // ExpiresTime contains the expiration of this SSL certificate in timestamp format ExpireTime time.Time `json:"expires"` // Pem encoded certificate and key concatenated - PemCertKey string `json:"pemCertKey"` + PemCertKey string `json:"pemCertKey,omitempty"` } // GetObjectKind implements the ObjectKind interface as a noop