中文问答
Cloudflare 520 怎么修复
520 的本质是:Cloudflare 到了源站,但源站返回了“不符合预期”的响应。
常见根因
- 响应头格式异常,或返回头为空。
- 请求头/响应头过大(常见于 Cookie 堆积)。
- 源站进程在返回完整响应前断开连接。
- 某些安全插件或 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 模式
- 登录后 Set-Cookie 过大:响应头超限,出现间歇性 520。
- 应用先返回了部分头部就退出:源站在线但响应结构损坏。
- 插件/安全规则注入异常头:直连可用,但代理路径失败。
修复后验证清单
- 经 Cloudflare 访问首页和核心问答页稳定返回
200/301/304。 /robots.txt与/sitemap.xml不再反复出现 520。- 错误日志中不再持续出现 invalid header / upstream reset 相关告警。
如果本质是超时而非异常响应,可继续看:Cloudflare 524 怎么修复。
如果本质是连接被拒绝,可继续看:Cloudflare 521 怎么修复。