Connecting Cloudflare to Heroku with full SSL for free -- problem with uploading certificates
我正在努力确保 https://www.my-site.com 正常工作,或者换句话说,绿色锁出现在我网站的 URL 旁边。现在我收到以下错误:错误 525 SSL 握手失败。 (我有一个连接到我的自定义域的 Heroku 应用程序,我已将其添加到 Cloudflare 以获取 SSL。)
我查看了这个页面:https://help.heroku.com/GVS2BTB5/why-am-i-getting-error-525-ssl-handshake-failed-with-cloudflare-when-using-a-herokudns -com-endpoint 并按照此处的说明进行操作:https://support.cloudflare.com/hc/en-us/articles/115000479507-Managing-Cloudflare-Origin-CA-certificates 获取原始证书(server.crt)和私钥(server.key)。
然后我继续按照此处的说明进行操作:https://devcenter.heroku.com/articles/ssl 并遇到了更多问题。
当我输入
1
| heroku certs:add server.crt server.key |
我收到以下错误消息:
1
| You need to be running on either Hobby or Professional dynos to be able to use SNI SSL. |
我没有使用付费测功机。是否可以使用完全免费的设置来使用 SSL?我哪里弄错了?
- 我想你回答了你自己的问题?!您需要使用付费测功机才能获得 SSL 证书。
-
我在这里讨论了stackoverflow.com/questions/26131611/… 似乎有一种免费的方法。我只是不知道怎么做。
-
只需部署到 Netlify 就可以省去麻烦?? netlify.com/blog/2016/01/15/free-ssl-on-custom-domains
注意:请参阅评论中的讨论。这种方法可能会在 2021 年 7 月 31 日之后停止工作。
通过 Cloudflare 可以使用免费 Heroku 的完整 SSL。
在 Cloudflare 中使用 CNAME examplesite.com -> examplesite.herokuapp.com(不是 heroku domains:add 返回的 *.herokudns.com 值)对我有用:
SSL/TLS 设置为完整。不需要添加证书,它需要付费的测功机。正如您所指出的,Heroku Cloudflare 完全免费的 SSL 对任何使用它的人来说都是很好的阅读。
在 CNAME 中使用 *.herokudns.com 值导致 525 SSL 握手失败。
使用自定义域(例如 examplesite.com)时,请确保在 Heroku 设置 > 域中也添加 www.examplesite.com 和 examplesite.com。
- 可悲(新):"当应用程序迁移到新基础架构时,其默认 appname.herokuapp.com、DNS 记录和任何 haiku.herokudns.com 自定义域记录都被修改为指向新路由的 IP 地址基础设施。在 24-48 小时内,应用程序可通过新旧路由基础设施访问。迁移完成后,应用程序将不再可通过旧路由基础设施访问,所有流量必须通过新基础设施流动. 发送到旧基础架构的应用请求将导致错误代码:H31 Misdirected Request。"
-
好点子。升级后会中断吗? help.heroku.com/PQ6JP5C4/... 对我来说有点模棱两可,"... foo-app.herokuapp.com 将继续作为升级应用程序的目标"
-
很有意思。所以在我收到的电子邮件中,他们说绝对不能使用 *.herokuapp.com("发送到旧基础设施的应用程序的请求将导致错误代码:H31 Misdirected Request"),不确定他们的意思是 "升级的应用程序"。在我收到的电子邮件中,一切都在 2021 年 7 月 31 日结束。然后电子邮件的其余部分继续讨论如何修复 SSL,因为从 *.herokuapp.com 移出后该 SSL 将中断。修复 SSL 意味着使用不能在免费 dynos 上使用的 Heroku SSL。所以,这里似乎是死路一条。
-
感谢您的提醒!将其添加为对答案的警告。我有几个使用这种方法运行的低流量爱好项目,让我们看看 7 月 31 日之后它们会发生什么:)。