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

GitHub Pages自定义域名间歇性显示空白索引页问题求助

排查自定义域名GitHub Pages间歇性空白/目录索引问题

这种间歇性的访问问题我碰到过不少,结合你的描述——部分设备正常、部分显示"Index of /"、状态交替变化,大概率是DNS、部署同步或者解析配置层面的问题,给你拆解几个最可能的原因和对应的排查步骤:

1. DNS缓存不一致(最常见诱因)

不同设备、不同网络的DNS缓存刷新周期不一样,有些设备可能还存着旧的解析记录,导致请求随机指向了未同步完成的GitHub Pages节点,甚至是旧的服务器地址。

  • 排查动作:在有问题的设备上执行nslookup harryherskowitz.com或dig harryherskowitz.com,核对解析到的IP是否是GitHub Pages官方指定的4个IP:185.199.108.153、185.199.109.153、185.199.110.153、185.199.111.153
  • 修复:如果解析到旧IP,手动清空DNS缓存:
    • Windows:运行ipconfig /flushdns
    • Mac:执行sudo dscacheutil -flushcache
    • Linux:执行sudo systemd-resolve --flush-caches(不同发行版可能略有差异)

2. GitHub Pages全球节点同步延迟

GitHub Pages会把你的静态文件同步到全球多个CDN节点,偶尔会出现部分节点未及时获取最新部署文件的情况,这时节点找不到默认索引文件(比如index.html)就会返回"Index of /"目录页面。

  • 排查动作:打开你的GitHub仓库,进入「Settings -> Pages」页面,查看部署状态是否为Success;如果刚完成部署,建议等待10-15分钟再测试(全球同步需要时间)
  • 修复:如果状态不稳定,手动触发一次重新部署——比如修改仓库里的README文件提交一个小改动,强制触发部署流程。

3. 域名解析记录的冗余/冲突配置

虽然你说A记录设置正确,但如果同时存在其他冲突的解析记录,DNS解析时会随机选择记录,导致部分请求指向错误的服务器。

  • 排查动作:登录你的域名服务商后台,检查所有解析记录:
    • 确保只有GitHub指定的4个A记录,没有多余的A记录指向其他IP
    • 如果之前配置过CNAME记录,必须删除(使用A记录绑定自定义域名时,不能同时存在CNAME记录)
    • 建议把TTL值设置为300秒(5分钟),这样DNS缓存刷新更快,方便后续测试

4. 默认索引文件的大小写问题

GitHub Pages的服务器是大小写敏感的,如果你的默认索引文件名是Index.html、INDEX.HTML这类非全小写的格式,部分节点可能无法识别,从而返回目录索引页面。

  • 排查动作:检查仓库根目录的默认文件名,确保是index.html(或者你在GitHub Pages设置中指定的自定义索引文件名),且大小写完全一致

5. 第三方CDN的缓存冲突(如果使用了CDN)

如果你的域名接入了第三方CDN(比如Cloudflare),CDN节点的缓存可能和GitHub Pages的内容不同步,导致部分请求返回旧的目录索引页面。

  • 排查动作:临时关闭CDN服务,测试访问是否恢复正常;如果问题消失,说明是CDN缓存的问题
  • 修复:清空CDN的全局缓存,同时调整缓存规则——比如对根目录请求设置不缓存,对静态文件设置合理的缓存周期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:28:29