【问题标题】:Sub domain not listed in Google App Engine while enabling SSL for custom domains为自定义域启用 SSL 时未在 Google App Engine 中列出子域
【发布时间】:2019-01-04 17:17:34
【问题描述】:

我一直在尝试在 GAE 中为我的应用程序在子域上使用我自己的 SSL 证书。我已成功创建证书,并且能够为除一个子域之外的所有子域启用它。

假设我的域是 domain.com。我能够为 domain.com、www.domain.com、subdomain.domain.com 启用 SSL 证书,但由于某种原因,www.subdomain.domain.com 未显示在我的证书的潜在自定义域列表中。在这种情况下,我无法通过https://www.subdomain.domain.com 访问我的网站,但可以通过https://subdomain.domain.com

另外,我可以为这个子域激活一个谷歌管理的证书,使https://www.subdomain.domain.com 可以访问,但当然,这不是我想要的。关于如何使 www.subdomain.domain.com 在我的证书的域列表中可见以便能够打开它的任何线索?

此帖子报告的问题与 this one 类似。可悲的是,没有人提供答案,我没有足够的声誉来评论它......

【问题讨论】:

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


【解决方案1】:

多级域可能很棘手。从获得的证书类型开始。来自RFC 2818(强调我的):

名称可能包含通配符 *,它被认为是 匹配任何单个域名组件或组件片段。 例如, *.a.com 匹配 foo.a.com 但不匹配 bar.foo.a.com f*.com 匹配 foo.com 但不匹配 bar.com。

我怀疑这是造成您麻烦的原因。谷歌在App Engine support for SSL certificates中也提到:

通配符证书仅支持一级子域。

在尝试使用 google 管理的证书时,证书很可能是为相应的域生成的,而不是通配符,因此不存在上述引用中提到的问题。

我能想到的唯一方法是为每个域级别获取单独的通配符证书。但是,如果您将用户引导到不同域级别的站点,这可能会成为问题,因为证书会发生变化。

就我个人而言,我只是将我的域名安排在一个域级别中,并避免所有这些问题。也许用www-subdomain.domain.com而不是www.subdomain.domain.com

【讨论】:

  • 你说得对,我完全错过了有关通配符证书支持的级别数的信息。大概就是这样。我确实可以为 .subdomain.domain.com 获得另一个通配符证书,但这感觉有点矫枉过正。另外,使用 www-subdomain 不会这样做,因为我只是担心人们试图通过subdomain 访问该网站。,在这种情况下不会有帮助。
【解决方案2】:

根据 Google Cloud 文档,通过确保您在 GCP 控制台中的正确权限并验证所有父域的所有权,您可以使用自定义证书访问子域。

例子:

  • 如果证书适用于 www.example.com,您可以验证 www.example.comexample.com 的所有权。
  • 如果证书适用于 www.example.comsub.example.com,您可以验证 www.example.comsub.example.comexample.com 的所有权。
  • 如果证书适用于 *.example.com,您必须验证 example.com 的所有权。

您可以查看this link,主要是提到的部分

使用您自己的 SSL 证书

【讨论】:

    猜你喜欢
    • 2014-07-05
    • 1970-01-01
    • 2014-11-14
    • 1970-01-01
    • 2015-11-07
    • 1970-01-01
    • 2018-06-19
    • 1970-01-01
    • 2017-04-08
    相关资源
    最近更新 更多