Google App Engine + Cloudflare 上的通配符 SSL 证书

Wildcard SSL certificate on Google App Engine + Cloudflare

我有一个域,example.com,我想支持 通配子域,例如 *.example.com on SSL .

我的应用程序在 Google App Engine 上 运行,希望使用 Cloudflare 将所有请求代理到我在 SSL 上的域。请注意,我使用的是 Cloudflare 的免费计划。

我的问题是除了使用 Cloudflare 之外,我是否需要购买单独的通配符子域证书。

我想在 Cloudflare 上启用完整(严格)SSL 方法。我的理解是,我可以在 GAE 上安装 Cloudflare 颁发的 Origin 证书(这样 GAE <-> Cloudflare 是安全的),然后使用 Cloudflare 颁发的通用 SSL 证书,这样 Cloudflare <-> 浏览器是安全的。是否需要购买单独的通配符子域证书,或者我是否可以完全使用(通用+原始证书)Cloudflare 的 SSL?

如果我的上述理解不正确并且我需要购买单独的 SSL 通配符子域证书 - 一旦我将其上传到 GAE,我从 GAE 到浏览器的连接是否端到端安全? GAE 上的 SSL 是否会由 Cloudflare 验证,然后它能够​​代理 SSL 上的通配符子域请求?

如果任何精通这方面知识的人可以帮助理解流程,那将不胜感激。

我熟悉 Cloudflare,但不熟悉 GAE。对于完整(严格),您必须拥有对 Cloudflare 和源服务器中的 example.com 和 *.example.com 都有效的证书。 Cloudflare 将处理 browser/client 将与之交互的边缘证书。

如您所料,Cloudflare 的原始证书问题将有效且免费。当您要求 Cloudflare 生成此文件时,您可以指定域,其中应包括 example.com 和 *.example.com。 Cloudflare 将为您颁发 example.com 的自签名证书和 *.example.com 的 SAN。这样做的好处是它是免费的,并且有效期很长(如果您愿意)。不利的一面是,如果您不得不删除 cloudflare 或在没有 cloudflare 的情况下与原始服务器交互,则证书将不会由根 CA 签名。这些请求通常会在客户端和浏览器中失败,除非您专门更改客户端配置以信任此证书,并且访问此服务器的随机浏览器肯定会出现证书错误。

example.com 的根 CA 签名证书和 *.example.com 的 SAN 也可以使用。不利的一面是,除非您使用像 letsencrypt 这样的免费服务,否则它通常会花钱。您可能还必须比自签名证书更频繁地更新此证书,并且过期的证书将导致完全严格模式下的停机。这样做的好处是,通常您直接发送到原始服务器的任何请求都可以工作,即使在随机浏览器中也是如此。

对我来说,我会使用根 CA 签名证书(如果需要的话甚至是免费的),这样如果我在紧急情况下绝对必须放弃 cloudflare,我可以将 DNS 切换到原始服务器并且仍然是好的。只有当我完全依赖 Cloudflare 时,比如 workers 或 DDoS 保护,我才会使用 Cloudflare 自签名证书。