upstream timed out (110: Connection timed out) while reading response header from upstream, client:

遇到的問題

之前沒配置下面這段,訪問時候偶爾會出現 504 gateway timeout,由於偶爾出現,所以不太好排查

proxy_connect_timeout 300s;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
proxy_buffer_size 64k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_ignore_client_abort on;

報錯日誌:

...[error] 13881#0: *108330 upstream timed out (110: Connection timed out) while reading response header from upstream, client:  ...(後面的省略)

從日誌看來是連接超時了,網上一通亂查之後估計可能是後端服務器響應超時了,本着大膽假設,小心求證的原則, 既然假設了錯誤原因就要做實驗重現錯誤:那就調整代理超時參數,反過來把代理超時閥值設小(比如 1ms)看會 不會次次出現 504。後來發現把 proxy_read_timeout 這個參數設置成 1ms 的時候,每次訪問都出現 504。於是把這 個參數調大,加入上面那段配置,解決問題了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章