中文问答

Cloudflare 524 怎么修复

524 表示 Cloudflare 已连上源站,但源站响应时间过长。

排查顺序

  1. 先定位具体慢接口,不要只看首页。
  2. 对比“经 Cloudflare”与“源站直连”延迟差异。
  3. 检查主机资源与上游依赖(DB/API)是否到瓶颈。

如果你不确定是超时还是响应异常,可先看:Cloudflare 520 和 524 快速区分

首轮命令

# 代理路径 vs 源站直连
time curl -s -o /dev/null -w '%{http_code}\n' https://yourdomain.com/your-heavy-endpoint
time curl -s -o /dev/null -w '%{http_code}\n' --resolve yourdomain.com:443:ORIGIN_IP https://yourdomain.com/your-heavy-endpoint

# 主机资源
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

如何判断根因

低风险修复顺序

  1. 先缩短请求链路内工作量(慢 SQL、分页、缓存)。
  2. 将长任务改为异步队列处理。
  3. 对高重复读取页面配置合理缓存。
  4. 固定同一接口持续复测 30-60 分钟后再扩大改动。

修复成功信号

目标接口状态码应以 200/301/304 为主,且核心公开页面不再持续出现 524。

如果表现是“连接被拒绝”而不是“响应超时”,继续看:Cloudflare 521 怎么修复

生成 524 排查清单