You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Heroku裸域名SSL证书状态失败,www域名正常问题求助

裸域名SSL证书失败的原因及解决办法

嘿,我来帮你捋捋这个问题的核心根源——你在GoDaddy给裸域名设置的转发规则,和Heroku的SSL证书验证逻辑完全不兼容。

具体来说:

  • Heroku的certs:auto功能是通过ACME协议验证域名所有权的,这个验证要求域名的DNS记录必须直接指向Heroku的DNS端点,这样Heroku才能确认域名归属,进而签发SSL证书。
  • 但你给裸域名设的是GoDaddy的域名转发,这种转发本质是GoDaddy服务器做的301/302跳转,而非直接的DNS解析指向。这就导致Heroku的证书验证服务没法通过DNS解析确认裸域名的归属,自然就签发失败了。

接下来咱们一步步解决这个问题:

第一步:取消GoDaddy的裸域名转发

登录GoDaddy的DNS管理界面,找到裸域名(mydomainname.com)的转发设置,直接删掉这个规则就行。

第二步:给裸域名设置正确的DNS记录

因为根域名(裸域名)按DNS规范不能设置CNAME记录,所以咱们得用GoDaddy支持的ALIAS/ANAME记录(GoDaddy里一般叫ALIAS):

  • 主机记录(Host)填@(或者留空,代表根域名)
  • 指向(Points to)填mydomainname.com.herokudns.com(和www子域名的CNAME目标对应,只是去掉前面的www)
  • TTL可以设成30分钟以内,让DNS解析尽快生效

如果GoDaddy不支持ALIAS/ANAME记录,还有个备选方案:

  • 先运行dig mydomainname.com.herokudns.com命令,获取Heroku对应应用的IP地址(可能会有多个),然后给裸域名设置A记录,把这些IP都填进去。不过要注意,Heroku的IP可能会变动,所以ALIAS/ANAME是更稳妥的选择。

第三步:重新触发Heroku的证书生成

等DNS记录生效后(可以用nslookup mydomainname.com确认解析是否已经指向Heroku的服务器),运行下面的命令重置证书:

heroku certs:auto:disable
heroku certs:auto:enable

之后再用heroku certs:auto查询状态,应该就能看到裸域名的证书状态变成ok啦。

内容的提问来源于stack exchange,提问作者mur7ay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:27:39