陈大剩博客

记一次使用又拍云 CDN 出现无限重定向问题

  • 陈大剩
  • 2025-08-29 23:50:29
  • 12

记一次使用又拍云 CDN 出现无限重定向问题

问题现象

在为博客部署又拍云 CDN 后遇到了一个诡异问题:网站无法正常访问,浏览器提示”重定向次数过多”错误。

通过开发者工具调试发现,问题的根源是 favicon.ico 文件陷入了无限重定向循环。奇怪的是,只有这个文件出现问题,其他页面和资源都能正常访问。
重定向循环问题

排查过程

查看访问日志

通过查看服务器访问日志发现,favicon.ico 持续产生 301 重定向响应,但初步无法确定具体原因。
访问日志截图

尝试禁用 CDN 缓存

怀疑是又拍云 CDN 缓存机制导致的问题,于是将 favicon.ico 添加到 CDN 的不缓存规则中。然而设置完成后,重定向问题依然存在。
CDN 缓存设置

清除浏览器缓存

CDN 设置无效后,尝试清除浏览器中 301 永久重定向的缓存。清除缓存后问题仍然存在,使用其他设备访问也出现相同现象,说明问题并非出在本地缓存。
浏览器缓存清除

禁用强制 HTTPS 重定向

考虑到服务器开启了强制 HTTPS 访问功能,怀疑可能是 HTTPS 重定向机制引起的循环。在宝塔面板中关闭强制 HTTPS 访问后,重定向问题消失,这表明问题确实与 HTTPS 重定向有关。
关闭强制 HTTPS

问题根因分析

既然关闭强制 HTTPS 访问能够解决重定向问题,说明问题确实与 HTTPS 重定向机制有关。

但这里有个疑点:为什么只有 https://www.it927.com/favicon.ico 会出现问题?明明访问的也是 HTTPS 协议的 URL。

联系技术支持

由于自行排查陷入困境,决定联系又拍云技术支持。经过客服半小时的深入排查,终于找到了问题的真正原因:自动 WebP 作图功能

虽然客服没有告诉我具体原因,我猜测可能原因如下:

  1. 又拍云的自动 WebP 作图功能在处理图片时,会通过 HTTP(80端口) 回源获取原始文件
  2. 服务器检测到 HTTP 请求后,触发强制 HTTPS 重定向,返回 301 状态码
  3. 又拍云收到 301 响应后,按照重定向指令再次请求,但仍然使用 HTTP 协议
  4. 形成无限循环:HTTP 请求 → 301 重定向 → HTTP 请求 → 301 重定向…

问题根因示意图

总结

这次问题排查虽然耗时较长,但收获颇丰,同时在使用又拍云 CDN 时,我遇到过许多坑,也探索了很多新奇的玩法,后续有时间和大家专程说说。

好在又拍云 CDN 是白嫖的,那还要啥自行车呢?希望这次排查经验能帮助遇到类似问题的开发者快速定位和解决问题。

分享到:
0

说点儿什么吧

头像

表情

本站由陈大剩博客程序搭建 | 湘ICP备2023000975号| Copyright © 2017 - 陈大剩博客 | 本站采用创作共用版权:CC BY-NC 4.0

站长统计| 文章总数[133]| 评论总数[13]| 登录用户[28]| 时间点[137]

logo

登入

社交账号登录