带有Heroku主机和Gandi域的SSL

带有Heroku主机和Gandi域的SSL,ssl,heroku,dns,Ssl,Heroku,Dns,我正在尝试使用Heroku设置SSL自动证书管理。我与甘地有我的域名,设置DNS目标时遇到问题 Heroku如何说应该建立: Domain Name DNS Target mydomain.com mydomain.com.herokudns.com www.mydomain.com www.mydomain.com.herokudns.com 所以理想的情况是在甘地 Name Type Value www CNAME www.mydomain.co

我正在尝试使用Heroku设置SSL自动证书管理。我与甘地有我的域名,设置DNS目标时遇到问题

Heroku如何说应该建立:

Domain Name       DNS Target

mydomain.com      mydomain.com.herokudns.com
www.mydomain.com  www.mydomain.com.herokudns.com
所以理想的情况是在甘地

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的大部分工作原理,所以我可能完全错了


感谢您的帮助

好的,显然不可能将Heroku的SSL证书用于Gandi,所以我最终选择了Gandi的SSL证书。如果有人需要一个教程,这里有一个伟大的勒瓦戈

在gandi中使用heroku ssl证书是可能的(而且更便宜)。。。您只需要确保每次都设置一个子域。我相信heroku自动证书不支持裸子域或通配符,因为let's加密。一旦所有子域的状态都正常,不要忘记在应用程序中强制使用ssl,这样每个http请求都将重定向到https。你可以这样做:

# config/environments/{staging,production}.rb
config.force_ssl = true
非常重要!不要忘记删除或编辑任何指向外部资源的未分发链接。否则,浏览器会将页面与中描述的不安全链接混淆


一旦所有这些都完成了,你就会在你的应用程序的每一页上看到令人满意的绿锁:D.

这只是我的经验对这个问题的一个跟进。我从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发布的教程

  • 使用
    openssl req-nodes-newkey rsa:2048-sha256-keyout server.key-out server.csr在项目中创建server.crs和server.key
  • 转到Gandi中的购买SSL证书页面
  • cat server.csr
    并将其粘贴到Gandi控制台
  • 支付并等待完成身份验证以完成此账单
  • 下载.crt和.pem证书并将它们连接到all.crt中
  • 使用heroku证书:添加--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
    在浏览器中,URL不会更改为
    https://xshogi.herokuapp.com

    您实际上可以使用heroku的SSL SERT。
    你可以在甘地做的是重定向到:) 考虑到您已将DNS设置更改为heroku提供的设置