我正在尝试使用Heroku设置SSL自动化证书管理。我有Gandi的域名,并且设置DNS目标时遇到了麻烦。
Heroku如何说应该设置:
Domain Name DNS Target
mydomain.com mydomain.com.herokudns.com
www.mydomain.com www.mydomain.com.herokudns.com
理想情况下,在Gandi我会有
Name Type Value
www CNAME www.mydomain.com.herokudns.com
@ CNAME mydomain.com.herokudns.com
但是,您无法将根域分配给CNAME记录,因此第二行不起作用。
另一种方法是使用A记录
Name Type Value
www CNAME www.mydomain.com.herokudns.com
@ A 1.2.3.4 (IP Address of my site)
但这又不起作用,因为Heroku托管网站的IP地址可能会发生变化。 因此,我认为通过Gandi的网络转发将mydomain.com转发到www.mydomain.com,我找到了一个解决方案。对于我的DNS记录,我只有:
Name Type Value
www CNAME www.mydomain.com.herokudns.com
所以现在网站可以运行,我可以访问www.mydomain.com或mydomain.com来访问它,但现在我的SSL认证无效了!
我的网站仍然说“您与此网站的连接不安全”
当我检查Heroku的状态时,我得到:
Domain Status
─────────────── ───────
www.mydomain.com OK
mydomain.com Failing
我基本上刚学到了DNS今天的大部分工作方式,所以我可能完全错了。
感谢任何帮助!
答案 0 :(得分:2)
好的,显然不可能将Heroku的SSL证书与Gandi一起使用,所以我最终选择了Gandi的SSL证书。如果有人需要一个教程,这里是Le Wagon的一个很棒的教程 https://vimeo.com/209534466
答案 1 :(得分:2)
使用带有gandi的heroku ssl证书是可能的(而且更便宜)...你只需要确保每次都设置一个子域名。我相信heroku自动化证书不支持裸子域或通配符,因为let的加密restrictions。一旦所有子域的雕像都可以,请不要忘记在应用程序中使用force_ssl,因此每个http请求都将重定向到https。你可以这样做:
# config/environments/{staging,production}.rb
config.force_ssl = true
非常重要!不要忘记删除或编辑任何不可靠的外部资产链接。否则,浏览器会根据Modzilla support page about mixed content。
中描述的那些不安全的链接来浏览页面完成所有这些操作后,U会在您应用的每个页面上看到令人满意的绿色锁:D。
答案 2 :(得分:0)
根据我的经验,对这个问题进行跟进。我从Gandi购买了域名,并使用永久性网络转发将域名转发到我的heroku应用程序。我还将自定义域(我买的那个)添加到heroku控制台。
Domain Name DNS Record Type DNS Target
───────────────── ─────────────── ───────────────────────
xshogi.com.tw ALIAS or ANAME xshogi.com.tw.herokudns.com
www.xshogi.com.tw CNAME www.xshogi.com.tw.herokudns.com
即使我已经支付了业余爱好计划,我也无法成功采用heroku ACM来配置我的域名。
我按照Johnnybib发布的教程video。
openssl req -nodes -newkey rsa:2048 -sha256 -keyout server.key -out server.csr
cat server.csr
并将其粘贴到Gandi控制台heroku certs:add --app xshogi all.crt server.key
此外,请务必将CNAME www
从webredir.vip.gandi.net.
更改为xshogi.com.tw.herokudns.com
。
所有设置并等待一会儿,我可以卷曲https://www.xshogi.com.tw
。我还可以在浏览器中连接到https://www.xshogi.com.tw
,并且网址不会更改为https://xshogi.herokuapp.com
。
答案 3 :(得分:0)
您实际上可以使用heroku的SSL服务器。
您可以在Gandi中执行的操作是重定向到https://www.yoursite.com :)
考虑到您已将DNS设置更改为heroku提供的设置。