- 工信部备案号 滇ICP备05000110号-1
- 滇公安备案 滇53010302000111
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
在nginx的日志记录中,出现499的状态码有很多种情况,我遇到的一种就是nginx反向代理到一个永远打不开的后端或者这个后端可以打开,但是你访问的延迟很高,日志记录就是499,发送字节数是0.
Nginx源码中关于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_error_404_page), /* 498, canceled */
ngx_null_string, /* 499, client has closed connection */
可以看到,最后一行 499 表示客户端关闭连接。很有可能是因为服务器端处理时间(等待response的时间)过长,客户端“等不及了”。就给关闭(close)了。
具体解决办法:
编辑nginx.conf
增加如下参数:
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
proxy_ignore_client_abort on;
#控制nginx请求后端tomcat超时使用,配置时间加长可以有效解决由于client关闭服务导致的 gateway 504;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 32 4k;
proxy_busy_buffers_size 64k;
售前咨询
售后咨询
备案咨询
二维码
TOP