我正在运行可从公司域名访问的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个域。
是否有更有效的方法来解决此问题?从多个域提供一项前端服务的行业标准是什么?
非常感谢!
答案 0 :(得分:1)
支持多个域名和/或子域名的标准方法是使用一个SSL证书并实现SAN(主题备用名称)。多余的域名一起存储在SAN中。所有SSL证书均支持SAN,但并非所有证书颁发机构都会颁发多域证书。让我们加密不支持SAN,以便他们的证书可以满足您的目标。
答案 1 :(得分:0)
如果您不需要全局IP并可以使用区域IP,则可以安装nginx-ingress并使用多个入口来处理同一IP的多个域和证书。
如果您确实需要全局IP,则可以按照@John的建议进行操作。
如果您不介意让您的客户将您的域指向不同的IP,那么您可以使用不同的入口,而无需任何其他操作。但是请注意,GKE的常规入口实例化了L7全局负载均衡器,因此请考虑这样做的成本