TrueURL
TrueURL

菜单

4xx 客户端错误 非标准状态码(nginx)

499 客户端关闭请求

nginx 的非标准状态码:客户端在服务器发送响应之前就关闭了连接时,nginx 会将其写入访问日志。

原因短语
Client Closed Request
是否重定向
否
默认可缓存
否

499 是 nginx 特有的状态码:如果客户端在 nginx 仍在处理请求时关闭了连接,它就会出现在访问日志中。此时不会发送任何响应,因为已经没有人接收了。

它通常意味着上游应用太慢:用户离开了页面,负载均衡器或 API 客户端触发了自己的超时,或者健康检查放弃了等待。如果 499 激增且请求耗时很长,说明后端很慢;而用户取消页面加载导致的少量 499 则属正常。

当 nginx 前面的代理先超时时,nginx 会记录 499,而代理会报告自己的错误,例如 504 或 Cloudflare 的 524。

响应示例

HTTP
# The client gave up before nginx had a response; nothing is sent.
# nginx access.log (last field: $request_time in seconds)
198.51.100.23 - - [06/Nov/2026:10:15:32 +0000] "GET /report?year=2026 HTTP/1.1" 499 0 "-" "Mozilla/5.0" 30.001

SEO 与重定向检测

爬虫永远不会收到 499,但如果 Googlebot 在等待慢速页面时放弃了,日志中它的请求就会显示为 499。这说明服务器响应时间过长,而这会减少 Google 的抓取量。重定向检测工具在遇到非常慢的跳时也会超时;重定向延迟检测会显示哪一跳较慢。

常见原因与使用场景

  • 应用后端的处理时间超出了客户端、CDN 或负载均衡器愿意等待的时间。
  • 用户在慢速页面加载完成之前取消或离开。
  • 监控和健康检查使用了较短的超时时间。

URL 重定向检测

使用免费的 TrueURL 重定向检测工具,逐跳查看一个 URL 返回的每一个状态码。