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

使用Let's Encrypt保护GitLab Pages时遭遇404错误求助

解决GitLab Pages Let's Encrypt验证404问题

遇到这种HTTP-01挑战的404错误,大概率是文件路径、部署或者域名配置出了问题,咱们一步步排查:

  • 先确认文件的存放路径完全正确
    你需要在GitLab项目的public目录下,创建嵌套的.well-known/acme-challenge文件夹(注意开头的点,这是隐藏文件夹),然后在这个文件夹里新建一个文件名完全是5TBu788fW0tQ5EOwZMdu1Gv3e9C33gxjV58hVtWTbDM的文件,文件内容必须严格是5TBu788fW0tQ5EOwZMdu1Gv3e9C33gxjV58hVtWTbDM.ewlbSYgvIxVOqiP1lD2zeDKWBGEZMRfO_4kJyLRP_4U,不能多空格也不能少字符。
    另外要注意Git默认可能忽略隐藏文件,记得用git add .well-known/命令把这个文件夹添加到版本库,然后推送到GitLab。

  • 检查GitLab Pages的部署是否成功
    推送文件后,去项目的「Settings > Pages」页面看最新的部署记录,如果部署失败,点开CI/CD的日志看看具体原因——比如你用了Jekyll、Hugo这类静态生成工具,有些工具默认会过滤隐藏文件夹,这时候需要在配置文件里添加规则,让它们把.well-known目录包含到最终的public输出里。

  • 验证域名解析和配置
    确认你的自定义域名YOURDOMAIN.org已经正确绑定到GitLab Pages,DNS解析记录(一般是A记录或CNAME)已经生效。可以在本地用nslookup YOURDOMAIN.org命令检查解析结果,要是刚改的DNS,可能需要等10-30分钟缓存生效。

  • 本地先测试文件可访问性
    先在本地构建你的项目(如果用了静态生成工具就执行构建命令),然后启动本地服务器访问http://localhost:xxxx/.well-known/acme-challenge/5TBu788fW0tQ5EOwZMdu1Gv3e9C33gxjV58hVtWTbDM,确认能看到正确的内容。如果本地都访问不了,那就是文件本身的问题,和GitLab部署无关。

  • 考虑挑战令牌过期的情况
    Let's Encrypt的挑战令牌是有有效期的,如果你折腾了很久才排查问题,可能令牌已经失效了。这时候回到教程的步骤,重新生成新的挑战令牌和验证内容,再重复上面的操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:11:04