NGINX 499 问题

查看 NGINX access log,发现这样的请求会以 499(Client Closed Request)记录。
确定问题是因为:客户端主动端口请求连接时,NGINX 不会将该请求代理给上游服务(FastCGI PHP 进程),这个时候 access log 中会以 499 记录这个请求。

要解决这个问题需要将 NGINX FastCGI 忽略客户端中断配置打开:

fastcgi_ignore_client_abort on;

这样无论客户端是否断开,都会将这个请求代理给上游,并且会记录上游服务处理后的返回状态。

另外,还有一个类似配置

 proxy_ignore_client_abort on;

这个配置是针对其他类型的反代,PHP 的场景并不适用