【发布时间】:2014-11-25 17:13:44
【问题描述】:
尝试在 Heroku 上使用 Cloudflares 获得完全免费的 SSL 新免费 Universal SSL
阅读这篇文章: http://mikecoutermarsh.com/adding-ssl-to-heroku-with-cloudflare/
这似乎表明 Cloudflare 免费提供 SSL 是可能的。
我采取的步骤:
- 使用 Cloudflare 设置我的 DNS(免费帐户)
- 将我的域转发到我的 herokuapp(CNAME example-app.com -> example-app.herokuapp.com)
- 将 Cloudflare SSL 选项设置为“完整 SSL”
- 将我的域添加到我的 Heroku 应用程序
-
用这个 express 中间件强制 https:
app.use(function(req, res, next) { if (req.headers['x-forwarded-proto'] != 'https') { res.redirect('https://' + req.headers.host + req.path); } else { return next(); } });
heroku 域http://example-app.herokuapp.com 工作正常并重定向到https://example-app.herokuapp.com、绿色锁和所有。
http://example-app.com 和 https://example-app.com 都不起作用。浏览器选项卡图标一直在旋转,永远不会解决。关于如何使它工作的任何想法?这甚至可能吗?
*更新
这看起来实际上是可能的。来自 CloudFlare 支持:
嗨,比尔,
基本上,只要“来源”支持 SSL 连接,您就可以将 Full SSL 与 CloudFlare 一起使用。
西蒙
CloudFlare 今天发布了这篇博文: https://blog.cloudflare.com/universal-ssl-be-just-a-bit-more-patient/
我的网站已开始解析,但收到一条“您的连接不是私密的”消息,就像博文的“您可能会看到的错误”部分一样。在我的 CloudFlare 设置中还有一个“SSL 发布”警报,所以我想一旦它发出,这可能会起作用。我会及时通知你们的。
【问题讨论】:
-
不,如果您想为 Heroku 上托管的自定义域启用 SSL,则必须每月支付 20 美元。
-
@idbehold 你读过这篇文章了吗?它建议你不要。 mikecoutermarsh.com/adding-ssl-to-heroku-with-cloudflare
-
顺便说一句 - 使用来自startssl.com的免费 SSL 更容易做到这一点
-
顺便说一句,对于任何寻求免费 SSL 托管的人,您可以使用 OpenShift 免费托管您的 custom 域(只要您获得免费证书)。
-
@RobinWinslow 开放班次是 iaas,所以你可以安装 ssl 证书......对,就规格而言,它与 heroku 相比如何,免费一个。我还读到你在 openshift 上只能有 3 个免费实例。
标签: node.js ssl heroku express cloudflare