- 工信部備案號 滇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