【问题标题】:Provisioning SSL certs for Google App Engine app w/custom domain DNS使用/自定义域 DNS 为 Google App Engine 应用程序配置 SSL 证书
【发布时间】:2020-12-15 15:59:15
【问题描述】:

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

我现在希望使用 SSL。由于我对所有这些东西都不熟悉,因此我使用Google-managed SSL certs 将文档跟踪到map my custom domain 和secure it with SSL。在此过程中,我在 GCP 中创建了我的第一个负载均衡器,然后将我的域的 @ A 和 www A 的 DNS 条目更新为 LB 的 IP。指南没有说任何关于更改 @ AAAA 条目的内容,所以我将它们留在原处。云 CDN 已禁用。谷歌域名 DNS 设置:

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

Troubleshooting tips for this error:

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

尝试在浏览器中加载到mydomain.com 或www.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 存储桶中。 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 条目适用于 Cloud Storage,不适用于 GAE。

我最终放弃了 SSL 的想法并选择了#3(现在)。有问题的应用程序是用于不处理任何敏感信息的个人项目,因此 SSL 确实没有必要。

【问题讨论】:

  • 1/2) 如果您使用的是 Google App Engine,为什么要配置负载均衡器?您的 IPv4 记录指向负载平衡器前端,但 IPv6 记录指向 App Engine。除非您打算将 App Engine 用作负载平衡器的后端,否则您只需在 App Engine 中配置一个自定义域并将您的 DNS 记录指向 App Engine。 cloud.google.com/appengine/docs/standard/python/…
  • 2/2) 否则删除 App Engine 中的自定义域并在负载均衡器前端配置证书。 cloud.google.com/load-balancing/docs/ssl-certificates/…
  • 这对我来说是全新的。我创建了一个负载均衡器,因为它在文档中被推荐。如果我不需要,太好了!运动部件越少越好。 cloud.google.com/load-balancing/docs/ssl-certificates/…
  • 我更新了域的 DNS 设置以再次匹配 GAE 自定义域 IP。但是,我在 GAE 设置 > SSL 证书下看不到任何内容,我唯一的选择是上传我自己的证书。我会给 DNS 一些时间来传播,看看这是否有效。
  • 如果您按照我提供给您的链接中的步骤操作,Google 会为您的自定义域提供 SSL 证书。

标签: google-app-engine ssl google-cloud-platform dns


【解决方案1】:

您已完成该过程并收到消息:

ERR_SSL_VERSION_OR_CIPHER_MISMATCH

我为您找到了一些信息。要点如下。

验证网站的 SSL 状态,

检查证书名称不匹配

验证 TLS 版本

验证 RC4 密码套件

手动检查安全证书

本文有更多细节here

【讨论】:

    猜你喜欢
    • 2014-11-14
    • 2015-11-07
    • 2014-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-18
    • 2014-10-13
    • 1970-01-01
    相关资源
    最近更新 更多