默认 proxy_ignore_client_abort 是关闭的,此时在请求过程中如果客户端端主动关闭请求或者客户端网络断掉,那么 Nginx 会记录 499,同时 request_time 是 「后端已经处理」的时间,而 upstream_response_time 为 “-“ (已验证)。
如果使用了 proxy_ignore_client_abort on ;文章源自运维生存时间-https://www.ttlsa.com/nginx/http-499-and-nginx-proxy_ignore_client_abort/
那么客户端主动断掉连接之后,Nginx 会等待后端处理完(或者超时),然后 记录 「后端的返回信息」 到日志。所以,如果后端 返回 200, 就记录 200 ;如果后端放回 5XX ,那么就记录 5XX 。文章源自运维生存时间-https://www.ttlsa.com/nginx/http-499-and-nginx-proxy_ignore_client_abort/
如果超时(默认60s,可以用 proxy_read_timeout 设置),Nginx 会主动断开连接,记录 504。文章源自运维生存时间-https://www.ttlsa.com/nginx/http-499-and-nginx-proxy_ignore_client_abort/ 文章源自运维生存时间-https://www.ttlsa.com/nginx/http-499-and-nginx-proxy_ignore_client_abort/

我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
1F
request_time 在哪可以看到呢?这样看,似乎proxy_ignore_client_abort关闭能让人一目了然知道情况。
B1
@ 少林功夫好 $request_time 内嵌变量