先是客户端因为请求响应超时超时,主动断开了连接

 

这时查看 nginx 访问日志,对应的记录 http 状态码为 499 

  • 总结:当客户端主动把连接断开时,HTTP 不为这种情形定义代码。同时我们处理它的请求时,我们引入了当一个客户端在我们尝试向其发送 HTTP 头之前关闭连接时,使用自己的代码(也就是 499 状态码)来记录这种情况。
  • 499 状态码不是 HTTP 的标准代码
  • 499 状态码是 Nginx 自己定义,用来 记录(你没看错,就是记录一下) 服务端向客户端发送 HTTP 请求头之前,客户端已经关闭连接的一种情况
  • 最常见的场景就是 timeout 设置不合理,Nginx 把请求转发上游服务器,上游服务器慢吞吞的处理,客户端等不及了主动断开链接,Nginx 就负责记录了 499

客户端主动断开了连接,就没法排查超时原因了