GitHub Pages搭配ArvanCloud CDN出现ERR_HTTP2_PROTOCOL_ERROR导致图片无法加载的技术求助
解决GitHub Pages + ArvanCloud CDN图片加载ERR_HTTP2_PROTOCOL_ERROR问题
我之前帮朋友排查过类似的HTTP/2协议错误,结合你描述的情况——没改配置突然出问题、多设备/浏览器都中招、VPN能临时缓解但失效,大概率是CDN层面的节点故障、缓存异常或者协议兼容性问题,给你几个具体的排查和修复步骤:
1. 先清掉ArvanCloud的CDN缓存
很多时候这种突发的静态资源加载错误,是CDN缓存了损坏的响应包。你可以登录ArvanCloud控制台,找到对应域名的「缓存管理」模块:
- 选择「清除全部缓存」,或者更精准地只清除图片路径(比如
/*/*.png、/*/*.jpg这类规则) - 清除后等待5-10分钟,再访问站点看看图片是否恢复
2. 绕开CDN验证源站是否正常
先排除GitHub Pages本身的问题:
- 直接访问你的GitHub Pages原始域名(比如
你的用户名.github.io/你的仓库名),不要通过ArvanCloud的自定义域名 - 如果图片能正常加载,说明问题100%出在ArvanCloud CDN这边;如果源站也加载失败,那要检查GitHub Pages的状态,或者确认图片文件是否被意外修改(虽然你说没改,但可以去仓库里核对一下)
3. 检查ArvanCloud的HTTP/2和QUIC配置
HTTP/2协议错误往往和CDN的协议配置有关,即使你没手动改,平台可能自动更新了默认规则:
- 进入ArvanCloud的「HTTPS设置」或「协议管理」页面,看看是否开启了QUIC协议。QUIC虽然快,但部分网络环境下兼容性不好,可以暂时关闭QUIC测试
- 查看HTTP/2的强制开启设置,试试切换为「兼容模式」(同时支持HTTP/1.1和HTTP/2),而不是强制只走HTTP/2
4. 排查CDN节点和区域路由问题
你提到VPN能短暂解决问题,说明你所在区域的ArvanCloud节点可能存在网络链路故障:
- 登录ArvanCloud控制台,查看「节点状态」或「监控」模块,看看你所在区域的节点是否有异常告警
- 可以尝试切换CDN的节点组(如果有这个选项),或者直接联系ArvanCloud的技术支持,提供你的访问IP、图片请求的详细日志(比如Edge浏览器F12→网络面板,复制图片请求的请求头、响应头和错误信息),让他们排查区域路由问题
5. 检查SSL证书和TLS版本配置
虽然你没改配置,但证书可能自动续期出问题,或者TLS版本设置太严格:
- 在ArvanCloud的「SSL证书」页面,确认证书是否正常生效,有没有过期或不匹配的情况
- 调整TLS版本为「TLS 1.2 + TLS 1.3」兼容模式,不要强制只开启TLS 1.3(部分旧设备/浏览器不支持,会导致协议握手失败)
6. 清除本地浏览器缓存(最后一步)
虽然你测试了多个设备,但还是可以试试:
- Edge浏览器按
Ctrl+Shift+Del,选择「缓存的图像和文件」,清除后用无痕模式访问站点 - Android设备可以在浏览器设置里清除缓存,或者用其他浏览器测试
内容的提问来源于stack exchange,提问作者mhkarami97




