Nginx 499的问题】的更多相关文章

今天进行系统维护,发现了大量的499错误, 499错误 ngx_string(ngx_http_error_495_page), /* 495, https certificate error */ngx_string(ngx_http_error_496_page), /* 496, https no certificate */ngx_string(ngx_http_error_497_page), /* 497, http to https */ngx_string(ngx_http_er…
Web服务器在用着nginx,在日志中偶尔会看到有499这个错误. rfc2616中,400-500间的错误码仅定义到了417,所以499应该是nginx自己定义的.后来想到读读nginx代码,疑问立解. 查看nginx源代码的方法: 1.解压nginx-1.4.7.tar.gz tar zxf nginx-1.4.7.tar.gz   2.查找499关键字: 在nginx源码中grep一下499(现在看源码习惯用grep大法),得到如下结果: # cd nginx-1.4.7 # grep 4…
这个其实不能算一篇文章,因为内容太少了,就当记点笔记吧. (1)什么是 nginx 499 499 其实是 nginx 下特有的 http 状态码,代表客户端主动断开了连接,导致服务器无法返回 http 请求头. google 的解释: A non-standard status code introduced by nginx for the case when a client closes the connection while nginx is processing the reque…
PHP 异步 HTTP 与 NGINX 499 PHP 异步 HTTP 在 PHP 代码中提交异步 HTTP 请求比较常用的方式是通过 fsockopen/fwrite/fclose 来实现,请参考如下代码. function post($host, $path, $port, $data) { $post = http_build_query($data); $len = strlen($post); $fp = fsockopen($host, $port, $errno, $errstr,…
在grafana界面中发现不少499的状态码,在网上了解到出现499的原因大体都是说服务端处理时间过长,客户端主动关闭了连接.   既然原因可能是服务端处理时间太长了,看一下upstream_response_time时间可以了解到后端程序处理了多久. 先了解一下什么是upstream_response_time和request_time分别是什么: request_time:服务端从接受客户端请求的第一个字节到服务端应用程序处理完发送完响应数据的时间,包括请求数据时间.程序响应时间.输出响应时…
今天查看nginx的access log 文件,发现类似这种请求: [22/Apr/2014:14:01:12 +0800] "GET / HTTP/1.1" 499 0 "-" "Mozilla/5.0 之前对499这类错误码,没什么印象,之后就去查了下, 发现rfc2616中,400-500间的错误码仅定义到了417,所以499应该是nginx自己定义的. nginx源码可以看到,这个499错误码是表示,请求中客户端关闭了连接导致的. 也就是说,如果你…
原因: 服务响应时间太长,客户端自动断开链接. 解决: 1. 找到响应世间长的接口,看依赖的数据源(数据库,第三方接口等)响应时间是否超时,还是自己程序有逻辑问题. 可以通过加入日志打印时间消耗来确定那一部分耗时严重.当然,如果有监控体系的话,从监控看是最简单明了的. 2. 如果是逻辑有问题,改代码优化.如果是依赖的数据源有问题,可以通过排查数据库获取问题,联系第三方接口排查,或者把依赖的接口做下线(如果有做熔断处理的话,这个地方就不用开发人员手动改代码去应急处理了).…
日志记录中HTTP状态码出现499错误有多种情况,我遇到的一种情况是nginx反代到一个永远打不开的后端,就这样了,日志状态记录是499.发送字节数是0. 老是有用户反映网站系统时好时坏,因为线上的产品很长时间没有修改,所以前端程序的问题基本上可以排除,于是就想着是Get方式调用的接口不稳定,问了相关人员,说没有问题,为了拿到确切证据,于是我问相关人员要了nginx服务器的日志文件(awstats日志),分析后发现日志中很多错误码为499的错误,约占整个日志文件的1%,而它只占全部报错的70%左…
日志记录中HTTP状态码出现499错误有多种情况,我遇到的一种情况是nginx反代到一个永远打不开的后端,就这样了,日志状态记录是499.发送字节数是0. 老是有用户反映网站系统时好时坏,因为线上的产品很长时间没有修改,所以前端程序的问题基本上可以排除,于是就想着是Get方式调用的接口不稳定,问了相关人员,说没有问题,为了拿到确切证据,于是我问相关人员要了nginx服务器的日志文件(awstats日志),分析后发现日志中很多错误码为499的错误,约占整个日志文件的1%,而它只占全部报错的70%左…
日志记录中HTTP状态码出现499错误有多种情况,我遇到的一种情况是nginx反代到一个永远打不开的后端,就这样了,日志状态记录是499.发送字节数是0. 老是有用户反映网站系统时好时坏,因为线上的产品很长时间没有修改,所以前端程序的问题基本上可以排除,于是就想着是Get方式调用的接口不稳定,问了相关人员,说没有问题,为了拿到确切证据,于是我问相关人员要了nginx服务器的日志文件(awstats日志),分析后发现日志中很多错误码为499的错误,约占整个日志文件的1%,而它只占全部报错的70%左…