多个SSL证书kubernetes

时间:2018-12-29 05:39:48

标签: ssl kubernetes google-cloud-platform google-kubernetes-engine

我正在运行可从公司域名访问的Web服务。 我使用“让我们加密”设置了自动SSL证书,如下所示。

apiVersion: extensions/v1beta1 kind: Ingress metadata: name: basic-ingress annotations: certmanager.k8s.io/issuer: letsencrypt spec: tls: - hosts: - my.domain.net secretName: my-domain-net-tls rules: - host: my.domain.net http: paths: - backend: serviceName: frontend-service servicePort: 80-to-8080-tcp

我想为客户提供从他们自己的域中提供前端服务的选项。 用证书解决此问题的最佳方法是什么? 我了解我可以将负载均衡器设置为使用多个机密,如下所示:https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-multi-ssl, 但我需要提供的服务范围超过规定的最多10个域。

是否有更有效的方法来解决此问题?从多个域提供一项前端服务的行业标准是什么?

非常感谢!

2 个答案:

答案 0 :(得分:1)

支持多个域名和/或子域名的标准方法是使用一个SSL证书并实现SAN(主题备用名称)。多余的域名一起存储在SAN中。所有SSL证书均支持SAN,但并非所有证书颁发机构都会颁发多域证书。让我们加密不支持SAN,以便他们的证书可以满足您的目标。

What is a SAN Certificate?

答案 1 :(得分:0)

如果您不需要全局IP并可以使用区域IP,则可以安装nginx-ingress并使用多个入口来处理同一IP的多个域和证书。

如果您确实需要全局IP,则可以按照@John的建议进行操作。

如果您不介意让您的客户将您的域指向不同的IP,那么您可以使用不同的入口,而无需任何其他操作。但是请注意,GKE的常规入口实例化了L7全局负载均衡器,因此请考虑这样做的成本