不为 App Engine 自定义(子域)提供 SSL

SSL not being served for AppEngine custom (sub)domain

我正在将网站迁移到 google Appengine,但在自定义域 (www.example.com)

上使用 SSL 时遇到问题

由于该网站已经通过 google 应用程序托管其电子邮件,因此我没有获得创建新网站时看到的相同向导。此外,它是使用 google 应用程序的免费层级创建的,如果有区别的话。

我做过的事情:

  1. 在 google 个应用上授权了 appengine 项目

  2. 启用 SSL 计费(并测试更改每日配额会影响 VPI 能力 - 它们已同步)

  3. 添加了 SN​​I 插槽并为 www.example.com

  4. 创建了一个 self-signed 证书(用于测试和最终的 CloudFlare)
  5. 设置为 SNI 服务

  6. 在应用程序中 - 添加了 www.example.com 用于 appengine 项目的自定义域

  7. 在 appengine 中-为 settings/custom 域添加了 www.example.com(注意-在此处 "SSL Support" header 下-它说 "none"而且没有办法改变它。这是有道理的,因为我认为这从未真正使用过,应用程序会绕过 appengine 进行 ssl 请求?)

使用这些设置- http://www.example.com works, however https://www.example.com 根本无法连接(即不是无效证书的问题)

请注意,在应用程序页面的 appengine 设置中,它说我可以通过 https://www.example.com and https://project-name.appspot.com

访问该项目

万一它是相关的,我现在在 Cloudflare 上托管 DNS 并将其 off/on 或 flexible/full 用于测试(以尽量减少停机时间,因为客户希望只连接到 https:/ /).假设上面只是关闭它。

好的 - 对于自签名证书,似乎有必要使用一种格式的密钥,这种格式不适用于默认 "how to self sign" 搜索:)这就是我最终所做的工作:

  1. openssl genrsa -out rsa_private_key.key 2048
  2. openssl req -new -key rsa_private_key.key -out request.csr
  3. openssl x509 -req -days 365 -in request.csr -signkey rsa_private_key.key -out yourdomain.com.crt
  4. openssl rsa -in rsa_private_key.key -text > myserver.key.pem

然后上传 yourdomain.com.csr 和 myserver.key.pem