【发布时间】:2019-09-22 04:43:37
【问题描述】:
几天前,我们在 Cloudflare 代理(橙色云,如果您知道 Cloudflare)后面的 1 个 Heroku 应用程序上收到错误“不支持 CDN 中的严格 TLS”。
基本上,客户端对https://foo.example.com 的请求通过 Cloudflare 代理,然后 Cloudflare 向https://foo.herokuapp.com 发出请求,缓存响应,并将结果传递回客户端。请注意,整个链都通过 HTTPS。我们已将 Clouflare 配置为仅通过 HTTPS 与终端服务器通信,并且我们不希望终端服务器通过 HTTP 发送响应。
似乎 Heroku 的政策在检测到您位于已经在处理 SSL 的代理后面时不再允许通过 SSL 提供服务。在过去一周中,越来越多的应用程序开始显示此错误,我们不得不禁用 Cloudflare 的代理。 Here's their documentation 对此,给出的原因是“因为 Cloudflare 提供了 SSL 证书。”
还有其他人遇到过这种情况并有解决方法吗?虽然 Cloudflare 仍然可以防止某些漏洞从客户端到 Cloudflare,但这会导致其他漏洞从 Cloudflare 到终端服务器。
更新:我收到 Heroku 的回复:
ACM 可以与 Full 或 Flexible 一起使用,并且可以与“Full(Strict)”一起使用,但不推荐使用。 “Full(Strict)”模式……可以在 ACM 完成后使用。如果需要“完整(严格)”,我们建议使用 CA 颁发的长期证书,并采用 CSR 签名流程。
但是,我还没有发现上述情况是正确的。在任一设置(Full 或 Strict)下,Heroku 总是报告上述错误。我已经从 Cloudflare 安装了原始证书来解决这个问题。
【问题讨论】:
标签: ssl heroku cloudflare