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 或负载均衡器愿意等待的时间。
- 用户在慢速页面加载完成之前取消或离开。
- 监控和健康检查使用了较短的超时时间。