关联主题:: 图床
同级:: 2026-06-04_星期四
下一级:: Cloudflare给pages和Worker优选域名
Cloudflare ImgBed图床无法访问排查与修复
结论
这次图床无法访问的根因,不是域名过期,也不是 Cloudflare Pages 太久没人访问被休眠,而是 GitHub 自动同步了新版 Cloudflare-ImgBed 后,Cloudflare Pages 仍然沿用旧的构建输出目录,导致最新部署没有正确服务出首页。
修复方式是把 Cloudflare Pages 的构建输出目录改为
/frontend-dist,然后重新部署。后续访问慢的问题,则和 DNSPod 优选域名、境内外分线路解析、Clash 规则优先级有关。
问题现象
最开始访问图床自定义域名:
https://i.brmys.cn/浏览器提示找不到页面,或者 Cloudflare 返回 404。
继续检查 Cloudflare Pages 自动生成的默认域名:
https://cloudflare-imgbed-6lu.pages.dev/也无法访问。
这一步很关键,因为如果 pages.dev 默认域名都打不开,问题就不只是自定义域名解析,而是 Cloudflare Pages 项目本身没有正确部署出来。
第一次误判:以为是域名解析问题
一开始看到 i.brmys.cn 的解析链路里出现了优选域名:
i.brmys.cn
-> cf.090227.xyz所以很容易怀疑是 cf.090227.xyz 这个优选域名的问题。
后来发现事情没这么简单。brmys.cn 的权威 DNS 在 Cloudflare,但 i.brmys.cn 这个子域名单独通过 NS 委派到了 DNSPod:
i.brmys.cn NS f1g1ns1.dnspod.net
i.brmys.cn NS f1g1ns2.dnspod.net也就是说,i.brmys.cn 真正生效的解析要去 DNSPod 看,而不是只看 Cloudflare 里的普通 DNS 记录。
这也是一个经验:只看某一个 DNS 面板不一定可靠,要看当前权威解析到底在哪里。
可以用下面的命令确认:
dig +trace i.brmys.cn
dig +short i.brmys.cn CNAME @f1g1ns1.dnspod.net真正根因:新版部署输出目录变了
后来在 Cloudflare 里测试历史部署时发现:
两个月以前的部署可以访问
两个月以内的新部署都无法访问这说明旧版本本身是好的,是最近的新部署出了问题。
进一步看 GitHub 仓库后发现,Cloudflare-ImgBed 近期由自动同步触发了更新。GitHub 上看起来有一次最近的成功记录,但这个“成功”不等于 Cloudflare Pages 最终可访问。
核心变化是:Cloudflare-ImgBed 新版要求 Pages 构建输出目录改成:
/frontend-dist如果 Cloudflare Pages 里仍然使用旧配置,比如输出目录是 /,部署过程可能看起来没报错,但最终根路径没有正确的 index.html,访问时就会出现 404。
Cloudflare Pages 不会因为太久没人访问而休眠
pages.dev默认域名返回 404,通常不是“太久没打开被停掉”,而是部署、构建产物、路由、自定义域名绑定等配置出了问题。
修复步骤
先进入 Cloudflare:
Workers & Pages
-> cloudflare-imgbed-6lu
-> Settings
-> Build & deployments
-> Build configuration把构建配置改成:
Build command: npm install
Build output directory: /frontend-dist
Root directory: 留空或 /然后重新部署最后一次部署。
修复后先访问默认域名:
https://cloudflare-imgbed-6lu.pages.dev/确认默认域名正常后,再访问自定义域名:
https://i.brmys.cn/这次两个地址都恢复正常。
关于优选域名和境内外访问速度
图床恢复后,又遇到一个问题:开启 Clash 后访问很慢,关闭 Clash 后速度也不一定稳定。
排查后发现,i.brmys.cn 现在适合做分线路解析:
国内线路 -> cf.090227.xyz 这类 Cloudflare 优选域名
境外 / 默认线路 -> cloudflare-imgbed-6lu.pages.dev原因是 cf.090227.xyz 这类优选域名通常是为了国内访问 Cloudflare 更快,不一定适合海外访问,也不一定适合代理节点访问。
比较稳的方案是:
中国大陆:走优选域名
默认 / 境外:走 Cloudflare Pages 默认域名如果后续要继续优化国内速度,也不要盲目换网上流传的优选域名,最好用测速工具按自己的网络环境测试。
Clash 规则的小坑
为了测试代理访问,我在 Clash 里给 i.brmys.cn 添加了规则:
类型:匹配完整域名
规则内容:i.brmys.cn
代理策略:节点选择但连接页里仍然显示:
链路: DIRECT
规则: DomainSuffix(cn)这说明规则没有命中,而是被更前面的 .cn 直连规则匹配走了:
- 'DOMAIN-SUFFIX,cn,DIRECT'正确做法是把 i.brmys.cn 这条规则添加为前置规则,让它排在 DOMAIN-SUFFIX,cn,DIRECT 前面。
如果希望走代理:
- 'DOMAIN,i.brmys.cn,节点选择'如果希望直连:
- 'DOMAIN,i.brmys.cn,DIRECT'还有一个容易忽略的小点:Clash 规则修改后,已经建立的旧连接不会自动重新判定规则。
所以改完规则后,需要关闭当前连接、重启浏览器,或者在 Clash 的连接页手动断开旧连接。断开后重新访问,规则才会重新命中。

这次的排查顺序
以后遇到类似问题,可以按这个顺序排查:
- 先访问 Cloudflare Pages 默认域名,确认项目本身是否可用。
- 如果默认域名 404,优先查部署日志和构建输出目录。
- 如果默认域名正常,自定义域名异常,再查自定义域名绑定和 DNS 解析。
- 如果涉及优选域名,确认子域名有没有被 NS 委派到 DNSPod。
- 如果开启 Clash 后异常,查看连接页实际命中的规则和链路。
- 修改 Clash 规则后,记得断开旧连接重新测试。
经验总结
这次最重要的经验是:不要只看表面的“部署成功”或“DNS 已配置”,要拆开验证每一层。
对于 Cloudflare Pages 项目:
GitHub 自动同步成功 != Cloudflare Pages 内容一定部署正确
Cloudflare Pages 部署成功 != 构建输出目录一定正确
自定义域名打不开 != 一定是 DNS 问题对于 DNS 和优选域名:
Cloudflare 面板里的记录 != 一定是当前实际生效记录
子域名如果做了 NS 委派,要去被委派的 DNS 服务商那里看
优选域名适合国内优化,但不一定适合海外或代理节点对于 Clash:
规则要看优先级
前置规则才会覆盖订阅里的通用规则
旧连接不会因为规则更新而自动切换链路最后这次真正解决问题的关键动作其实很简单:
Cloudflare Pages 输出目录改为 /frontend-dist
重新部署最新版本
Clash 里把 i.brmys.cn 规则放到前置
断开旧连接后重新访问这套排查链路以后还可以复用到其他 Cloudflare Pages、Worker、自定义域名和图床类项目上。