504 Gateway Timeout 表示充当网关或代理的服务器,没有及时从完成请求所需的上游服务器收到响应。代理等到了配置的超时时间后便放弃了。
与 502 不同,上游并没有发送损坏的响应,而是没能及时发送任何内容。典型原因包括数据库查询缓慢、生成报表等长时间运行的任务、卡住的外部 API 以及过载的后端。每一层都有自己的时间限制,例如 nginx 的 proxy_read_timeout(默认 60 秒)、负载均衡器的空闲超时,以及无服务器函数的执行时间限制。
在 Cloudflare 后面,如果源服务器接受了连接但响应太慢,产生的是 524 A Timeout Occurred,而不是 504。
响应示例
HTTP
HTTP/1.1 504 Gateway Timeout
Date: Fri, 06 Nov 2026 10:15:32 GMT
Content-Type: text/html
Content-Length: 106
<html><body><h1>504 Gateway Timeout</h1>
<p>The upstream server did not respond in time.</p></body></html> SEO 与重定向检测
504 属于服务器错误:它们会放慢抓取速度,如果持续存在,还会导致页面被移出索引。响应缓慢也会减少 Google 抓取的页面数量。重定向延迟检测会显示每一跳所用的时间,有助于在慢速重定向或缓慢的最终页面演变成超时之前找到它们。
常见原因与使用场景
- 缓慢的数据库查询或长时间运行的请求超出了代理的超时时间。
- 应用所依赖的外部 API 没有响应。
- 上游服务器过载,或者由于两者之间的 DNS 或网络问题,代理无法访问上游服务器。
- 各层的超时设置不一致,导致代理在应用完成处理之前就放弃了。