使用完整SSL将cloudflare连接到heroku

时间:2018-05-12 19:23:47

标签: heroku cloudflare

我有一个带有免费帐户的Heroku应用程序。 我在Cloudflare也有一个免费帐户。

我正在尝试使用完整SSL连接将它们连接起来。 在cloudflare中,我看到以下状态:

enter image description here

enter image description here

但是,我无法通过安全连接访问我的网站。 我收到错误525: enter image description here

我认为问题在于Heroku中的设置,但我在网上找不到太多信息......

有什么建议吗?

4 个答案:

答案 0 :(得分:6)

使用应用程序URL( appname.herokuapp.com )作为 CNAME值,而不是Heroku生成的域。

资源:https://help.heroku.com/GVS2BTB5/why-am-i-getting-error-525-ssl-handshake-failed-with-cloudflare-when-using-a-herokudns-com-endpoint

答案 1 :(得分:0)

您是否尝试使用SSL直接连接到主机?

也许尝试运行ssl labs post来查看支持哪些密码等。

我想知道主机的cloudflare代理是否支持服务器名称指示(SNI),因为我认为在主机端(Heroku)你没有专用的IP。

答案 2 :(得分:0)

在Cloudflare的Crypto的{​​{1}}设置中,将值从SSL更改为Full SSL

答案 3 :(得分:0)

这些天你必须遵循这个文件:https://support.cloudflare.com/hc/en-us/articles/205893698-Configure-Cloudflare-and-Heroku-over-HTTPS

我遇到了同样的事情,最近刚刚将 cloudflare 的 SSL 设置为 heroku。这是我必须做的。

  1. 在heroku中添加您的域,对于这个例子,我的域是heroku中的test.com,每个域都会为您使用的域提供一些随机的herokudns域值。您将需要添加 www 和 @ 域。因此,在 heroku 中,您应该看到 www.test.com 和 test.com,并且每个都对应于 herokus herokudns 域之一。

  2. 将 CNAMES 添加到 cloudflare 并使用您提供的 herokudns 域

    CNAME www heroku-domain-given1

    CNAME @ heroku-domain-given2

  3. 在 cloudflare 中创建原始证书 - 在其 SSL 设置下将它们上传到 heroku。确保您没有选择启用 ACM,而是选择上传手动证书设置。这就是在 cloudflare 和 heroku 之间验证 SSL 握手的方式。参考:Workaround for Heroku no longer supporting SSL behind Cloudflare ("Strict TLS in CDN not supported")?