vas*_*lis 4 kubernetes nginx-ingress
我想在 nginx-ingress 上禁用 SNI。如果使用像下面这样的 openssl 调用:
openssl s_client -showcerts -connect ***********.gr:443
Run Code Online (Sandbox Code Playgroud)
然后我希望 nginx-ingress 仅使用我配置的证书,而不使用 fake-k8s-cert。
如果浏览网络应用程序,证书就可以工作,但我还需要设置默认证书。
示例如下:
[root@production ~]# openssl s_client -showcerts -connect 3dsecureuat.torawallet.gr:443
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
-----BEGIN CERTIFICATE-----
---
Server certificate
subject=/O=Acme Co/CN=Kubernetes Ingress Controller Fake Certificate
issuer=/O=Acme Co/CN=Kubernetes Ingress Controller Fake Certificate
---
Acceptable client certificate CA names
/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root CA
...
Run Code Online (Sandbox Code Playgroud)
我还配置了 ingress 以在所有主机名上使用机密,而不指定主机: tls: - SecretName: ******wte-ingress
默认 SSL 证书标志解决了 OP 提到的问题。
在 Nginx 文档中,您可以阅读:
NXINX Ingress 控制器提供标志
--default-ssl-certificate
。此标志引用的机密包含访问 catch-all 服务器时要使用的默认证书。如果未提供此标志,NGINX 将使用自签名证书。例如,如果默认命名空间中有 TLS 秘密 foo-tls,请在 nginx-controller 部署中添加 --default-ssl-certificate=default/foo-tls 。
默认证书还将用于没有 SecretName 选项的 ingress tls: 部分。
归档时间: |
|
查看次数: |
6121 次 |
最近记录: |