将域名指向Heroku托管应用遇阻,请求技术帮助
排查Heroku+OVH域名解析的NXDOMAIN/ERR_NAME_NOT_RESOLVED问题
嘿,我来帮你捋捋问题所在——你现在只配置了www.my-domain.com的解析,但主域名my-domain.com完全没做DNS设置,这就是直接访问主域名出现解析错误的核心原因!下面一步步帮你解决:
1. 给主域名(裸域)添加正确的解析记录
DNS规范里,主域名(比如my-domain.com,也叫裸域)不能使用CNAME记录(会和域名本身的SOA/NS记录冲突),OVH支持ALIAS记录来解决这个问题:
- 登录OVH的DNS管理后台,添加一条新记录
- 记录类型选
ALIAS - 子域字段留空(或者填
@,这两个都代表主域名) - TTL保持默认值即可
- 目标地址填写Heroku给你的
my-domain.com.herokudns.com.(注意末尾的.,这是绝对域名的规范写法,避免解析出错)
2. 确认Heroku的域名配置完整
登录Heroku后台,进入你的应用域名设置页面,确保**同时添加了my-domain.com和www.my-domain.com**两个域名。如果只加了其中一个,另一个域名的解析即使DNS设置正确,Heroku也不会响应请求。
3. 验证DNS解析是否生效
DNS修改后需要一段时间(也就是DNS propagation)才能全网生效,默认TTL是5分钟,但有时候可能需要几小时(最多24小时)。你可以用本地命令快速验证:
- Windows用户打开命令提示符,输入:
nslookup my-domain.com - Mac/Linux用户打开终端,输入:
dig my-domain.com
如果返回结果里的目标地址是Heroku的my-domain.com.herokudns.com,说明解析已经生效了。
4. 检查www子域的配置(可选)
虽然你已经配置了www.my-domain.com的CNAME,但可以再确认下:
- 子域字段是
www - 目标地址确实是
my-domain.com.herokudns.com.(末尾的.可选,但加上更规范) - TTL保持默认即可
常见小坑提醒
- 绝对不要给主域名用CNAME记录,必须用ALIAS/ANAME(不同服务商叫法不同,OVH是ALIAS),否则会导致DNS解析彻底失败
- 如果你之前误加了主域名的CNAME记录,一定要先删除,再添加ALIAS记录
- 如果等待很久还是没生效,可以清空本地DNS缓存(Windows用
ipconfig /flushdns,Mac用sudo dscacheutil -flushcache)
内容的提问来源于stack exchange,提问作者Seybol
相关产品推荐
相关产品推荐

