gpt4 book ai didi

ssl - Heroku 的解决方法不再支持 Cloudflare ("Strict TLS in CDN not supported"背后的 SSL)?

转载 作者:太空宇宙 更新时间:2023-11-03 12:41:01 25 4
gpt4 key购买 nike

几天前,我们在 Cloudflare 代理(橙色云,如果您知道 Cloudflare)后面的 1 个 Heroku 应用程序上收到错误“不支持 CDN 中的严格 TLS”。

基本上,客户端请求 https://foo.example.com通过 Cloudflare 代理,然后向 https://foo.herokuapp.com 发出请求,缓存响应,并将结果传回客户端。请注意,整个链都通过 HTTPS。我们已将 Clouflare 配置为通过 HTTPS 与终端服务器通信,并且我们不希望终端服务器通过 HTTP 发送响应。

Heroku 的政策似乎不再允许在检测到您位于已经处理 SSL 的代理之后时通过 SSL 提供服务。在过去一周,越来越多的应用程序开始显示此错误,我们不得不禁用 Cloudflare 的代理。 Here's their documentation对此,给出的理由是“因为 Cloudflare 提供 SSL 证书。”

还有其他人遇到过这种情况并有解决方法吗?虽然 Cloudflare 仍然可以防止从客户端到 Cloudflare 的某些漏洞,但这会使其他漏洞从 Cloudflare 开放到终端服务器。

更新:我收到 Heroku 的回复:

ACM can be used with Full or Flexible, and can be made to work with "Full (Strict)", but is not recommended. "Full (Strict)" mode ... can be used after ACM completes. If "Full (Strict)" is necessary we recommend a longer term, CA-issued certificate with a CSR signing process instead.

但是,我还没有发现以上内容是真的。在任一设置(Full 或 Strict)上,Heroku 总是报告上述错误。我已经从 Cloudflare 安装了原始证书来解决这个问题。

最佳答案

看起来 Heroku 特别不希望您使用 ACM(自动证书管理),在其中他们使用 Let's Encrypt 自动为您颁发证书。当您的证书不面向客户时,这是不必要的。

如果始终是 Cloudflare 与您的 Heroku 应用通信,我建议改用“原始证书”。 Cloudflare 可以专门为您生成一个证书和私钥,安装在您的原始服务器上,以便向 Cloudflare 进行身份验证。此证书由 Cloudflare 的私有(private) CA 签名,浏览器无法识别,只能由 Cloudflare 自身识别。这意味着您不必像使用普通 CA 证书那样经历这么多步骤来验证您的域和续订证书。

您可以告诉 Cloudflare 在 Cloudflare 仪表板中生成原始证书。您可以根据此文档将证书安装到 Heroku 中:

https://devcenter.heroku.com/articles/ssl#manually-uploading-certificates-and-intermediaries

请注意,这不需要 Heroku 端的“ACM”,因为您要携带自己的证书。我希望 Heroku 在这种模式下表现良好,但落后于 Cloudflare(如果不是……那将是 Heroku 中一个非常严重的缺陷)。

这是 Cloudflare 关于原始证书的一般文档:

https://support.cloudflare.com/hc/en-us/articles/115000479507-Managing-Cloudflare-Origin-CA-certificates

(免责声明:我实际上并没有在 Heroku 上尝试过这个,但我过去已经成功地在其他主机上使用了原始证书。)

关于ssl - Heroku 的解决方法不再支持 Cloudflare ("Strict TLS in CDN not supported"背后的 SSL)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55973139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com