Heroku裸SSL自定义域

时间:2017-07-22 02:09:00

标签: node.js express ssl heroku dns

我试图找到一个当前的,最新的答案,用于使用Godaddy和Heroku SSL设置裸域。我的目标是让所有网页都登陆https://www.example.com

的安全页面

https://www.example.com会转到安全页面。

example.com转到不安全的页面。

https://example.com不起作用。

我目前的设置如下:

在heroku设置中:

域名 | DNS目标

example.com | example.com.herokudns.com

www.example.com | www.my-domain.herokudns.com

去爸爸设置:

CNAME | www | www.example.com.herokudns.com

转发设置:

转发至:https:// | www.example.com

4 个答案:

答案 0 :(得分:0)

解决了它。

设置SSL的最佳方法是使用此程序包自动使应用程序SSL上的每个页面成为可能。神奇的包裹。 https://www.npmjs.com/package/force-ssl-heroku

轻松使用Godaddy设置裸域:设置转发到您的域:https://www.my-domain.com。这会将非www重定向到正确的位置。 :)

答案 1 :(得分:0)

我认为heroku自动化证书不支持裸子域名或通配符,因为加密restrictions。因此,每次要使用Heroku的自动证书时,都需要设置子域。

非常重要!别忘了删除或编辑任何不可靠的外部资产链接。否则,浏览器会根据Modzilla support page about mixed content

中描述的那些不安全的链接来浏览页面

答案 2 :(得分:0)

是的,这是一个非常愚蠢的问题,那里的一些大型DNS经理提供商仍然存在。解决方法是让服务器安装SSL证书,然后将裸域指向该静态IP。然后服务器将重定向到" www"您的域的版本,现在由Heroku在SSL下提供。乏味的。

如果您不想完成所有这些操作,只需使用https://www.nakedssl.com即可完成 - 但是自动化(并且对于一个域免费)。

免责声明:我是创建NakedSSL的团队的一员,但我希望您将此作为帮助,而不是自我推销。如上所述,问题就像解决繁琐一样简单,我认为NakedSSL是一个非常直接的解决方法。

答案 3 :(得分:0)

Heroku上的根域要求使用ALIAS ANAME或FLATTENING记录。

不幸的是,许多流行的DNS主机(例如 GoDaddy ,Bluehost,Google Domains,OVH,Hostinger等)都不支持这些类型的记录。许多提供程序会告诉您没有ALIAS,ANAME或FLATTENING记录之类的东西,但是许多提供程序会告诉您设置A记录;

  • A记录不适用于Heroku进行路由
  • A记录需要静态IP地址,并且静态IP地址无法与Heroku一起进行路由,因为Heroku(和许多其他云平台)使用动态IP。

相反,您可以:

  1. 不要使用裸域,而要使用您的www子域
  2. 重定向/将HTTP根域转发到www子域。但是,这对于您的HTTPS根域将不起作用
  3. 使用备用DNS提供程序。 Heroku建议以下内容:https://help.heroku.com/NH44MODG/my-root-domain-isn-t-working-what-s-wrong