GitHub Pages添加自定义域名失败求助:DNS检测不通过(InvalidDNSError)
自定义域名绑定GitHub Pages报错InvalidDNSError的排查方案
1. 修正DNS记录配置
你在AWS托管区设置的目标地址错误——CNAME记录不能指向带路径的URL(https://my_org.github.io/my_repo/),正确的目标应该是纯域名:
- 对于项目仓库的GitHub Pages,CNAME记录的目标值应为
my_org.github.io(移除协议头和仓库路径) - 确保记录类型是CNAME,而非A/AAAA或其他类型(子域名绑定优先用CNAME)
2. 验证DNS生效状态
- 用命令行工具检测解析结果:运行
nslookup subdomain.example.com或dig subdomain.example.com,确认返回的CNAME目标是my_org.github.io - DNS解析存在TTL缓存,修改后可能需要10分钟到24小时才能全网生效,刚修改的话请先等待一段时间再重试GitHub的检测。
3. 检查仓库CNAME文件
- 仓库根目录的CNAME文件必须仅包含一行内容:
subdomain.example.com,不能有多余空格、换行、注释或其他字符,也不能添加路径信息。
4. 核对GitHub Pages设置
- 在仓库的Pages设置页面,确认自定义域名填写的是
subdomain.example.com,暂时不要勾选"强制HTTPS"(DNS未生效时开启会导致加载失败,解析正常后再开启) - 保存设置后,GitHub会自动同步CNAME文件内容,若之前手动添加的内容正确则无需修改。
5. 其他排查点
- 确认AWS托管区对应的是
example.com域名,没有选错托管区(比如误操作了其他域名的托管区) - 检查子域名拼写是否完全正确(域名不区分大小写,但统一用小写可避免潜在问题)
- 如果使用Route 53,确保记录的路由策略为默认的"简单路由",无额外规则干扰解析
内容的提问来源于stack exchange,提问作者user18148705
相关产品推荐
相关产品推荐

