我对这个话题很陌生。我们使用GCP (App,标准)托管一个nodejs应用程序。然而,出于不同的原因,我们决定创建两个服务-阶段和默认(认为同一应用程序并行运行)。
默认的一个是连接自定义域(GAE提供的SSL证书)并正常工作。这个舞台服务可以通过google生成的URL来访问( The example.apppot.com),并且显然受到ssl证书的保护。
然后,我们必须通过我们的合作伙伴的安全审查,我们使用了这个阶段。
结果是我们必须禁用TLSv1.0和TLSv1.1。使用GAE,我们需要创建负载均衡器,并将SSL策略切换到TLS特定的策略。
问题:要创建外部HTTPS负载均衡器,您必须创建SSL证书资源(即您必须拥有域)。与自定义域,我想这不应该是困难的,但我如何在舞台上这样做?我是否在SSL证书资源中使用我的阶段域(...appspot.com)?如果是这样的话,我该如何处理DNS记录和外部IP (您需要在A和AAAA记录中将IP切换到外部IP )?
或者如果我做错了什么-你能给我指明正确的方向吗?
我决定去Wojtek_B提出的路径,所以我验证了stage.example.com,它在没有负载均衡器的情况下工作得很好。
在这一点上,我的DNS记录包括4A和4个AAAA记录来自@与谷歌提供的IP,和3个CNAME记录(www,stage,www.stage)指向“ghs.googlehosted.com”。
接下来,我使用4个域创建了SSL证书资源: example.com、www.example.com、stage.example.com、www.stage.example.com。
然后,我添加了一个外部HTTPS负载均衡器(使用外部IP,例如,上面提到的1.2.3.4和SSL证书)。
我为@、www、stage和www.stage添加了新的A记录,指向1.2.3.4。我降低了CNAME的记录,因为它们太多了。
等待2~3小时后(TTL为1/2小时),除example.com (卡在FAILED_NOT_VISIBLE中)外,所有子域均被激活。
有一段时间,我一直在与托管SSL证书搏斗,使其陷入供应状态。我跟踪本教程,您应该只创建外部IP (v4)。但我也有4个AAAA记录(在域验证期间得到的)与(显然) ipv6。因此,我尝试保留外部IP (v6),并在不到一分钟的时间内将所有4个(子)域推送到活动状态。
在短短几分钟内,通过LB的两个服务都启动并运行了所需的TLS配置。
发布于 2021-05-24 12:33:09
只有指向负载均衡器的域才能在GCP中使用SSL证书。如果您试图为应用程序引擎应用程序提供证书,则不会生成证书。
发生这种情况的原因不多:
但是,您可以使用的所有应用程序引擎地址(包括*.appspot.com子域)都有一个有效的SSL证书。但你不能用负载平衡器。
如果您可以在没有负载均衡器的情况下运行所有的暂存测试,那么GCP的SSL验证将完成这项工作。
如果您需要在与生产相同的设置中运行您的暂存环境,那么您需要创建一个新的LB,它指向您的GAE服务。此外,您还需要另一个域(或至少是子域)。您需要使用*.appspot.com以外的域,因为为了创建GCP的自管理SSL证书,您需要提供指向LB本身的域(而不是GAE)。
在您的例子中,我建议创建一个新的子域。然后创建新的LB并为该子域生成新的SSL证书。提供证书最多需要60分钟.。您还必须更改您的子域中的A记录,以指向您新创建的LB --只有这样才能成功地提供SSL证书(因为域必须指向LB)。
另一种是可以将子域添加到现有证书的域列表中。.保存为域创建的所有记录,并在创建子域之后创建一组新的A (以及必要的AAAA记录)。
如果您使用的是GCP的Cloud,那么它将如下所示:

此外,我建议您查看链接文档,以便更好地了解整个过程。
https://serverfault.com/questions/1064407
复制相似问题