当前位置 主页 > 服务器问题 > nginx问题汇总 >
nginx错误码499详解
栏目:nginx问题汇总
时间:2019-06-24 17:59
今天聊聊在Web服务器在用着nginx时,偶尔会出现的499这个错误,因为比较偏门,所以很多人都还不知道如何解决这个问题。日志如下:
61.135.249.220 – - [02/Oct/2009:10:28:21 +0000] “GET /subject/93390/ HTTP/1.1″ 499 0 “-” “Mozilla/5.0 (compatible; YoudaoBot/1.0; http://www.youdao.com/help/webmaster/spider/; )”
61.135.249.216 – - [02/Oct/2009:10:30:08 +0000] “GET /subject/476083/ HTTP/1.1″ 499 0 “-” “Mozilla/5.0 (compatible; YoudaoBot/1.0; http://www.youdao.com/help/webmaster/spider/; )”
rfc2616中,400~500间的错误码仅定义到了417,所以499应该是nginx自己定义的。后来想到读读nginx代码,疑问立解。在nginx源码中grep一下499(现在看源码习惯用grep大法),得到如下结果:
找到src/http/ngx_http_special_response.c 这个文件,里面定义了不少http错误码以及相应的返回。注意到有下面这样的注释:
可以看到,499对应的是 “client has closed connection”。这很有可能是因为服务器端处理的时间过长,客户端想罢工了。要解决此问题,就需要在程序上面做些优化了。