我的 Kubernetes 配置中的所有内容都适用于单个 TLS 证书。我将证书定义为 Secret
并在我的 Ingress
中引用它按名称进行对象配置,我的 HTTPS 流量与证书一起提供。
当我也尝试使用我的其他证书时,我的问题就出现了。我的一个证书有 www.DomainA.com
作为 CN 和 DomainA.com,DomainB.com,DomainC.com
作为 SAN 的。我的另一个证书是 *.DomainA.com
的通配符.
当我将两个证书都添加到我的 Kubenetes 配置中时(有或没有定义的 hosts
字段),只有第一个指定的证书被添加到接口(interface)中并提供给任何流量。
奇怪的是,当我运行 kubectl describe ingress my-ingress
我懂了:
TLS:
non-wildcard-cert terminates DomainA.com,DomainB.com,DomainC.com
wildcard-cert terminates *.DomainA.com
所以我知道这两个证书都是由 Kubernetes 提取的,它似乎没有在 GCP 中使用(或存储)。
如何使用这两个证书?
最佳答案
看起来,目前,GCP 不支持 Kubernetes spec正确地根据 GCE Ingress Controller doc .当他们确实从规范中添加了完整的 SNI 支持时,我应该能够做我需要的事情。
我看到 nginx Ingress controller has SNI support但我只想使用官方的、透明的、由 Google 维护的 Ingress Controller 。
关于kubernetes - 在 Kubernetes 1.3 Ingress 中使用通配符和非通配符 TLS 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38253521/