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

Gitlab Pages自定义域名所有权验证失败求助

嘿,我之前也踩过GitLab Pages域名验证的坑,给你梳理几个大概率能解决问题的排查方向:

排查GitLab Pages自定义域名验证失败&404问题

1. 先核对DNS记录的类型和内容是否完全正确

GitLab验证域名的核心是A/CNAME记录(指向GitLab Pages服务)+ TXT验证记录(证明你是域名所有者),这俩缺一不可:

  • 如果是根域名(比如yourdomain.com):
    • A记录主机名填@或留空,值填52.167.214.135(你选的这个IP是对的,属于GitLab Pages官方IP池)
    • TXT记录主机名同样填@或留空,值必须完全和GitLab Pages设置页给你的验证字符串一致(别多空格、少字符,也别加多余引号)
  • 如果是子域名(比如blog.yourdomain.com):
    • 更推荐用CNAME记录,主机名填子域名前缀(比如blog),值填<你的GitLab用户名>.gitlab.io
    • 对应的TXT记录主机名填子域名前缀,值同样用GitLab给的验证串

你说访问域名和直接访问IP都是404,说明DNS解析大概率是通的,但GitLab还没把你的域名和项目绑定上,核心问题还是在验证环节或者项目配置。

2. 用命令确认TXT记录是否生效

别光看DNS服务商的后台,直接用终端命令查一下实际生效的记录:

dig TXT yourdomain.com  # 根域名用这个
# 或者子域名用 dig TXT blog.yourdomain.com

如果输出里看不到GitLab给的验证串,那肯定是DNS配置错了——哪怕你等了几天,也可能是主机名填错了(比如根域名填了子域名前缀)或者内容打错了。

3. 检查GitLab端的项目配置

  • 确认你是在正确的项目里添加的域名:GitLab Pages是和单个项目绑定的,如果在无关项目里加了域名,肯定不会生效
  • 去项目的Deployments > Pages页面,看看有没有成功的部署记录:如果从来没部署过,或者部署失败,哪怕域名验证过,也只会显示404
  • 核对.gitlab-ci.yml的pages job:如果是自动部署,确保配置里的输出目录是public,且CI/CD流水线跑成功了(去CI/CD > Pipelines看日志)

4. 排除域名被占用的可能

GitLab Pages的域名是全局唯一的,如果之前有其他用户验证过这个域名,你会无法通过验证。可以先测试一个临时子域名(比如test.yourdomain.com),如果这个能验证成功,那就是原域名被占用了,得联系GitLab支持处理。

5. 手动触发重新验证

有时候GitLab的验证机制会抽风,试试这招:

  • 先在GitLab Pages设置页删除当前的域名记录,等5分钟左右再重新添加
  • 重新添加后,再核对一遍DNS记录,然后点击域名旁边的「重新验证」按钮(如果有的话)

最后,等所有配置都确认无误后,清一下浏览器缓存用隐私窗口访问试试。要是还是404,看GitLab里域名的状态:如果显示「未验证」,继续抠DNS;如果显示「已验证」,那就是项目部署的问题,盯着CI/CD日志找原因就行。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:32:09