我有一个多层应用程序在谷歌容器引擎和我有一个单一的入口单静态IP地址,我将转发多个域。每个域都需要自己的ssl证书(让我们加密一下)。我面临的问题是,我看不到在负载均衡器中使用多个证书的任何选项。看起来每个IP地址都有一个全局转发规则,只能转发到一个SSL (端口443) HTTPS代理,该代理只能使用一个SSL证书。
我不想使用多域SSL证书,因为它将是巨大的皮塔管理。
这不是一些奇怪的异国情调用例,而是相当正常的需求。这里的正确解决方案是什么?
我想也许为每个域名设置静态IP,并使用路由路由到单个IP“前端”,但是每个IP都需要一些钱,所以拥有几十个或数百个域名在财务上是疯狂的(100个域名每月将花费1800美元,数据/流量不包括在内)。
发布于 2016-12-08 23:03:47
更新: GCE现在通过向负载均衡器附加最多10个SSL证书来支持SNI。可以使用TargetHttpsProxy或TargetSslProxy指定SSL证书列表。
参考资料:示例
=======================
您可以使用网络负载均衡器并终止VM实例上的ssl连接。注意,网络负载平衡不能将您的流量转发到不同的区域。如果您想要这样做,则需要在不同的区域分别设置它们。
参考资料:https://cloud.google.com/compute/docs/load-balancing/network/
发布于 2016-12-10 02:46:40
可以定义TLS配置是一个数组。映射的多个主机到秘密。
发布于 2016-12-19 08:31:01
我已经成功地在中安装了多个SSL/TLS证书的站点,它使用库贝-乐高获取证书,让我们在证书即将过期时自动加密和更新它们。根据标签,您可能使用云引擎的其他部分,而不是Kubernetes,但是使用Kubernetes至少可以简化您的容器的管理。
我们正在使用两个名称空间--生产和暂存--我们总共为所有服务使用了大约50个证书。如果不使用kube,那么管理所有证书将非常麻烦。
Kube会监听入口的变化,如果完成了新的部署,它将在适当的配置到位的情况下采取行动。例如,前几天,我不得不在暂存中添加一个新服务。只需向部署脚本添加一个小配置,就会自动发出SSL/TLS证书。这是我部署的入口,一分钟内,proxy.domain.com的证书就开始运行了。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: proxy-web-ingress
namespace: staging
annotations:
kubernetes.io/tls-acme: "true"
kubernetes.io/ingress.class: "nginx"
spec:
tls:
- hosts:
- proxy.domain.com
secretName: proxy-web-tls
rules:
- host: proxy.domain.com
http:
paths:
- path: /
backend:
serviceName: proxy-web-svc
servicePort: 80缺点之一是,出于可以理解的原因,一个人可能每周都要参加不发无限数考试。但是,在安装过程中,我们可以使用暂存环境来加密,没有任何限制。当使用kube时,Nginx用于处理SSL/TLS的路由和终止。
https://stackoverflow.com/questions/41048565
复制相似问题