Heroku中的SSL与自定义域

我正在使用PointHQ作为DNS并在Heroku上托管我的域名。 默认情况下,它看起来像Heroku支持https(例如https://yodel-site.herokuapp.com ),但不是当你使用https://yodel.co访问我的网站时 – 虽然它只适用于http:/ /。

为了使SSL(https)在Heroku中的自定义域上运行,我需要做什么? 是在我的DNS( PointHQ )中配置,还是我需要为插件支付heroku?

这是我的Heroku自定义域部分的样子: 在此处输入图像描述

您必须为附加组件支付Heroku,获得SSL证书,并根据他们的说明进行安装。 另请注意,您应该避免在顶点安装SSL ,并将任何顶点流量重定向到您选择的子域(例如www)。

使用CloudFlare是避免支付Heroku费用的合理方法,尽管提供的证书不是您自己的。 您可以选择是否物有所值。

最简单和最便宜的方式是从Free升级到Hobby Dynos,一个小应用程序的最高成本为7美元/月,实际上可能要少得多,因为价格按照你的Dyno每月运行的时间按比例分配。 https://www.heroku.com/pricing )这比获得SSL Heroku附加组件的20美元/月要便宜得多。

一旦你将你的计划从Free升级到Hobby,事情就非常简单了:

  • 在Heroku上转到您的应用,转到设置,向下滚动到域名和证书,然后添加您的域名:www.yourdomain.com
  • 这将自动为您提供DNS目标www.yourdomain.com.herokudns.com
  • 在您的域名主机中:
    • 使用此DNS目标添加CNAME记录,例如在Godaddy上添加:输入:CNAME名称:www。 价值:www.yourdomain.com.herokudns.com
    • 将根域(yourdomain.com)中的重定向操作添加到www.yourdomain.com

允许几个小时的DNS更改传播,你们都已经完成了!