今天在处理一个客户问题,遇到Nginx access log中出现大量的499状态码。实际场景是:客户的域名通过cname解析到我们的Nginx反向代理集群上来,客户的Web服务是由一个负载均衡提供外网IP进行访问,负载均衡后面挂了多个内网web站点业务服务器。出现的访问日志如下所示:
打开Nginx的access.log发现在最后一次的提交是出现了HTTP1.1 499 0 -这样的错误,在百度搜索nginx 499错误,结果都是说客户端主动断开了连接。 但经过我的测试这显然不是客户端的问题,因为使用端口+IP直接访问后端服务器不存在此问题,后来测试nginx发现如果两次提交post过快就会出现499的情况,看来是nginx认为是不安全的...
今天在处理一个客户问题,遇到Nginx access log中出现大量的499状态码。实际场景是:客户的域名通过cname解析到我们的Nginx反向代理集群上来,客户的Web服务是由一个负载均衡提供外网IP进行访问,负载均衡后面挂了多个内网web站点业务服务器。出现的访问日志如下所示: 2、处理方法 499错误是什么?让我们看看NGINX的源码中的定...
业务系用户侧报错,从nginx日志中跟踪相关接口请求,发现nginx响应客户端的响应码大量出现 499 。 # grep'HTTP/1.1"###499###'access.log172.16.15.7###-###-###[20/Jun/2023:17:15:29+0800]###"POST /xxx HTTP/1.1"###499###0###"-"###"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/5...
499状态码是nginx自定义的状态码,不是标准的状态码,在官网的定义是Client Closed Request,也即客户端关闭了请求连接,原因大部分是因为接口响应太久了,客户端设置了超时时间,直接关闭了请求连接。原因可能是网络网速问题,也有可能是后端接口响应太慢了 处理方法 ...
可以看到,499对应的是 “client has closed connection”。这很有可能是因为服务器端处理的时间过长,客户端“不耐烦”了。Nginx 499错误的原因及解决⽅法 打开Nginx的access.log发现在最后⼀次的提交是出现了HTTP1.1 499 0 -这样的错误,在百度搜索nginx 499错误,结果都是说客户端主动断开了连接。但经过我...
发现rfc2616中,400~500间的错误码仅定义到了417,所以499应该是nginx自己定义的。 nginx源码可以看到,这个499错误码是表示,请求中客户端关闭了连接导致的。 也就是说,如果你请求你自己服务器的某地址,马上就关闭这个请求,那么,你的access log中就会出现499错误码的log,供你查看用。
Nginx 499错误的原因及解决方法 打开Nginx的access.log发现在最后一次的提交是出现了HTTP1.1 499 0 -这样的错误,在百度搜索nginx 499错误,结果都是说客户端主动断开了连接。 但经过我的测试这显然不是客户端的问题,因为使用端口+IP直接访问后端服务器不存在此问题,后来测试nginx发现如果两次提交post过快就会出现499的...
tail -f /var/log/nginx/apiexample.access.log 172.19.0.1 - - [15/Nov/2019:06:32:19 +0000] "GET / HTTP/1.1" 499 0 "-" "curl/7.67.0" 172.19.0.1 - - [15/Nov/2019:06:32:22 +0000] "GET / HTTP/1.1" 499 0 "-" "curl/7.67.0" ...
可以看到,499对应的是 “client has closed connection”。这很有可能是因为服务器端处理的时间过长,客户端“不耐烦”了。 测试nginx发现如果两次提交post过快就会出现499的情况,看来是nginx认为是不安全的连接,主动拒绝了客户端的连接. ===> 查看服务器日志,发现是数据库不存在,后台在循环进行数据库重连机制,导致...