中文问答

Cloudflare 520 怎么修复

520 的本质是:Cloudflare 到了源站,但源站返回了“不符合预期”的响应。

常见根因

  1. 响应头格式异常,或返回头为空。
  2. 请求头/响应头过大(常见于 Cookie 堆积)。
  3. 源站进程在返回完整响应前断开连接。
  4. 某些安全插件或 WAF 规则与 Cloudflare 行为冲突。

建议先跑这组命令

# 1) 对比源站直连和 Cloudflare 代理
curl -sv --resolve yourdomain.com:443:ORIGIN_IP https://yourdomain.com/ -o /dev/null
curl -sv https://yourdomain.com/ -o /dev/null

# 2) 看响应头是否异常
curl -sI --resolve yourdomain.com:443:ORIGIN_IP https://yourdomain.com/

# 3) 查看服务状态和错误日志
sudo systemctl status caddy --no-pager -n 30
sudo systemctl status nginx --no-pager -n 30
sudo journalctl -u caddy --since '30 minutes ago' --no-pager | tail -n 100
sudo tail -n 120 /var/log/nginx/error.log

如果你不确定这是 520 还是超时问题,可先看:Cloudflare 520 和 524 怎么区分

实战里常见的 520 模式

修复后验证清单

  1. 经 Cloudflare 访问首页和核心问答页稳定返回 200/301/304
  2. /robots.txt/sitemap.xml 不再反复出现 520。
  3. 错误日志中不再持续出现 invalid header / upstream reset 相关告警。

如果本质是超时而非异常响应,可继续看:Cloudflare 524 怎么修复

如果本质是连接被拒绝,可继续看:Cloudflare 521 怎么修复

生成完整 Cloudflare 排查清单