I have configured ssl certificate, if I visit https://<domain>.com
, I see that my certificate is configured successfully but when I try to check certificate by following command
openssl s_client -connect <domain>.com:443 | openssl x509 -noout -subject -issuer
i am getting Kubernetes Ingress Controller Fake Certificate
My ingres config is :
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
nginx.ingress.kubernetes.io/from-to-www-redirect: 'true'
name: nginx-echo
spec:
tls:
- hosts:
- domain.com
secretName: domain.com
rules:
- host: domain.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: website-lorem
port:
number: 80
with command gives the same fake certificate:
openssl s_client -connect <domain>.com:443 -servername <domain> | openssl x509 -noout -subject -issuer
Logs:
6 flags.go:205] Watching for Ingress class: nginx
W1029 22:02:36.331841 6 flags.go:210] Ingresses with an empty class will also be processed by this Ingress controllernginx
W1029 22:02:36.332409 6 flags.go:252] SSL certificate chain completion is disabled (--enable-ssl-chain-completion=false)
W1029 22:02:36.332525 6 client_config.go:552] Neither --kubeconfig nor --master was specified. Using the inClusterConfig. This might not work.
I1029 22:02:36.332855 6 main.go:231] Creating API client for https://<ip>:443
I1029 22:02:36.342532 6 main.go:275] Running in Kubernetes cluster version v1.19 (v1.19.2) - git (clean) commit f57430*** - platform linux/amd64
I1029 22:02:36.470142 6 main.go:105] SSL fake certificate created /etc/ingress-controller/ssl/default-fake-certificate.pem
I1029 22:02:36.472357 6 main.go:113] Enabling new Ingress features available since Kubernetes v1.18
W1029 22:02:36.476751 6 main.go:125] No IngressClass resource with name nginx found. Only annotation will be used.
I1029 22:02:36.485119 6 ssl.go:528] loading tls certificate from certificate path /usr/local/certificates/cert and key path /usr/local/certificates/key
I1029 22:02:36.544518 6 nginx.go:263] Starting NGINX Ingress controller
Problem was that
--default-ssl-certificate
flag was not set. More details can be found hereIntermediate certificate
was not set. Please check this thread for more details.Now its working.
There is also a Github thread with this issue.