Я не могу получить завершение TLS на входном контроллере nginx, работающем на моем кластере kubernetes.
мое правило доступа выглядит следующим образом:
Christophers-MacBook-Pro-2:acme-microservice cjaime$ kubectl describe ing myapp-ingress-1
Name: myapp-ingress-1
Namespace: default
Address:
Default backend: default-http-backend:80 (<none>)
TLS:
acme-io terminates myapp-default.acme.io
Rules:
Host Path Backends
---- ---- --------
myapp-default.acme.io
/ myapp:80 (<none>)
Annotations:
ingress.kubernetes.io/ssl-redirect: true
kubernetes.io/ingress.class: nginx
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal UPDATE 53m (x2 over 1h) nginx-ingress-controller Ingress default/myapp-ingress-1
Normal UPDATE 53m (x2 over 1h) nginx-ingress-controller Ingress default/myapp-ingress-1
Normal UPDATE 53m (x2 over 1h) nginx-ingress-controller Ingress default/myapp-ingress-1
Normal UPDATE 53m (x2 over 1h) nginx-ingress-controller Ingress default/myapp-ingress-1
Всякий раз, когда я пытаюсь получить доступ к этомуиз браузера я получаю обратно следующий сертификат сервера
Server certificate
subject=/O=Acme Co/CN=Kubernetes Ingress Controller Fake Certificate
issuer=/O=Acme Co/CN=Kubernetes Ingress Controller Fake Certificate
Это мешает мне создать действительное соединение SSL.Я знаю, что мой секрет верен, потому что при использовании openssl я получаю правильное соединение следующим образом
openssl s_client -servername myapp-default.acme.io -connect us1a-k8s-4.acme.io:31443 -showcerts
CONNECTED(00000003)
<content omitted>
Start Time: 1528241749
Timeout : 300 (sec)
Verify return code: 0 (ok)
---
Однако, если я запускаю ту же команду с опущенным именем сервера, я получаю тот же поддельный сертификат и ошибку соединения
openssl s_client -connect us1a-k8s-4.acme.io:31443 -showcerts
CONNECTED(00000003)
depth=0 O = Acme Co, CN = Kubernetes Ingress Controller Fake Certificate
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 O = Acme Co, CN = Kubernetes Ingress Controller Fake Certificate
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
0 s:/O=Acme Co/CN=Kubernetes Ingress Controller Fake Certificate
i:/O=Acme Co/CN=Kubernetes Ingress Controller Fake Certificate
<content omitted>
Start Time: 1528241957
Timeout : 300 (sec)
Verify return code: 21 (unable to verify the first certificate)