为带有自定义域DNS的Google App Engine应用配置SSL证书

问题描述

我去年购买了带有Google Domains的自定义域mydomain.com。直到本周早些时候,我才在该域(位于Cloud Storage存储桶中)托管了一个小型的单页React应用程序,该应用程序连接到GAE Flask应用程序后端。在任何地方都没有使用SSL。一切都很好。

我现在希望使用SSL。由于我不熟悉所有这些内容,因此我使用map my custom domain按照文档来介绍secure it with SSLGoogle-managed SSL certs。在此过程中,我在GCP中创建了第一个负载平衡器,然后将域@ Awww A的域DNS条目更新为LB的IP。指南没有说明更改@ AAAA条目的情况,因此我将其保留在原位。 Cloud CDN已禁用。 Google Domains DNS设置:

Google Domains DNS Settings

在创建Google管理的SSL证书时,我同时输入了mydomain.comwww.mydomain.com,因为我希望两个地址都使用SSL进行保护。几个小时后,www.mydomain.com的域状态变为活动状态,但是FAILED_NOT_VISIBLE的域状态为mydomain.com。猜这是我的问题根源吗? Google SSL证书状态:

Google SSL Cert Statuses

Troubleshooting tips for this error

  • SSL证书未附加到负载均衡器的目标代理。要解决此问题,请更新负载均衡器配置。 完成并通过GCP用户界面和gcloud cli进行确认。
  • 域的DNS记录无法解析为Google Cloud负载均衡器的IP地址。要解决此问题,请更新DNS记录以指向负载平衡器的IP地址。 我也想这样做,请在下面查看我的GAE自定义域设置:

App Engine custom domain settings

尝试在浏览器中加载到mydomain.comwww.mydomain.com时会产生:

This site can’t provide a secure connection
www.mydomain.com uses an unsupported protocol.

ERR_SSL_VERSION_OR_CIPHER_MISMATCH

Unsupported protocol
The client and server don't support a common SSL protocol version or cipher suite.

自从我创建LB并更新我的域的DNS设置以来已经有40个小时了,所以我怀疑问题出在我的配置而不是DNS传播。我要去哪里错了?


编辑


编辑以澄清一些关键事项:

  1. 我将UI作为静态网站托管在Google Cloud Storage存储桶中。云存储doesn't support HTTPS on its own,因此需要HTTPS负载平衡器才能与自定义域一起使用。
  2. 如果我想走这条路,我需要确保负载均衡器指向我的Cloud Storage存储桶,这在我的原始帖子中没有提到。
  3. 要回滚此SSL尝试中的所有更改,我需要将@ A DNS条目更新为GAE IP,然后将www CNAME条目更新为c.storage.googleapis.com.。请注意,此CNAME条目用于云存储,不是用于GAE。

我最终放弃了SSL创意,并选择了#3(目前)。该应用程序是针对不处理任何敏感信息的个人项目的,因此,实际上不需要SSL。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)