中文问答
Cloudflare 522 怎么修复
522 表示 Cloudflare 无法在限定时间内从源站拿到响应。
推荐排查顺序
- 先测核心页面响应时间(经 Cloudflare 与源站直连都测)。
- 检查 CPU、内存、磁盘 IO 是否存在压力峰值。
- 核对防火墙、上游限流和网络链路是否抖动。
如果不确定是超时还是异常响应,可先看:Cloudflare 520 和 524 快速区分。
首轮排查命令
# 经过 Cloudflare 的响应时延
time curl -s -o /dev/null -w '%{http_code}\n' https://yourdomain.com/
# 源站直连时延
time curl -s -o /dev/null -w '%{http_code}\n' http://ORIGIN_IP/
time curl -s -o /dev/null -w '%{http_code}\n' --resolve yourdomain.com:443:ORIGIN_IP https://yourdomain.com/
# 资源压力
top -bn1 | head -n 20
vmstat 1 5
iostat -xz 1 3
# 服务日志
sudo journalctl -u caddy --since '30 minutes ago' --no-pager | tail -n 120
sudo journalctl -u nginx --since '30 minutes ago' --no-pager | tail -n 120
常见 522 场景
- 只有动态页超时:多半是应用层瓶颈。
- 全站同时变慢:主机资源或上游网络饱和。
- 源站直连快、代理路径慢:边缘到源站链路或策略问题。
低风险修复顺序
- 先恢复源站健康(进程并发、资源压力、慢查询)。
- 把重任务从同步请求迁移到异步队列。
- 为高重复读取接口增加缓存层。
- 经 Cloudflare 连续复测 30-60 分钟,观察是否稳定。
修复完成信号
核心页面状态码应以 200/301/304 为主,首页、sitemap、高流量问答页不再反复出现 522。
如果表现为“连接被拒绝”而非“连接超时”,继续看:Cloudflare 521 怎么修复。