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

如何在Heroku中配置自定义域名及SSL证书?

解决Heroku自定义域名SSL证书配置问题

我来帮你理清这些问题,其实核心就是DNS配置和证书绑定的匹配问题,一步步拆解:

1. GoDaddy DNS设置的正确选择

别纠结了,必须用Heroku为你的自定义域名生成的专属DNS目标,绝对不是通用的*.herokuapp.com或者你的应用URL。

具体来说:当你在Heroku后台添加自定义域名(比如yourdomain.com或www.yourdomain.com)时,Heroku会给你一个类似xxx.herokudns.com的专属DNS地址——这个才是你要在GoDaddy DNS里填的记录值:

  • 如果是子域名(比如www.yourdomain.com),添加一条CNAME记录,把值设为这个Heroku生成的DNS目标
  • 如果是根域名(比如yourdomain.com),GoDaddy支持的话用ALIAS/ANAME记录指向它;如果不支持,就把根域名重定向到www子域名,再给www设置CNAME

为什么不能用*.herokuapp.com?因为那是Heroku共享集群的通配符域名,指向的是所有Heroku应用的公共入口,而你的自定义域名需要绑定到你应用的专属路由,只有Heroku生成的那个专属DNS才能把请求正确路由到你的应用,同时匹配你上传的证书。

2. 谷歌提示证书无效的原因

这个报错完全是DNS配置错误导致的:你现在的DNS指向了*.herokuapp.com,当用户访问你的自定义域名时,请求实际路由到了Heroku的默认域名上,Heroku返回的是它自己的*.herokuapp.com证书,而不是你上传的自定义域名证书——浏览器自然会报错,因为证书的域名和你访问的域名不匹配。

解决方法很直接:

  • 先去Heroku后台,找到你添加的自定义域名,复制对应的Heroku DNS目标
  • 打开GoDaddy的DNS管理页面,修改对应的CNAME/ALIAS记录,把值换成这个复制的DNS目标
  • 等DNS生效(TTL设置短的话几分钟就好,长的话可能几小时),再访问你的自定义域名,证书应该就能正常加载了

3. 额外的排查小技巧

  • 先确认Heroku上的证书没问题:用heroku certs命令查看,确保证书已经绑定到你的自定义域名,且证书包含了所有需要的域名(比如主域名和www子域名),证书链完整没过期
  • 如果GoDaddy不支持根域名的ALIAS记录,直接用301重定向把根域名转到www子域名,这样只需要给www配置CNAME就好,更简单
  • 可以用nslookup或者dig命令检查DNS是否生效,比如dig www.yourdomain.com,看返回的是不是Heroku给你的那个xxx.herokudns.com

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:51:25