nginx反向代理60s超時報錯問題解決
情況描述:由于網絡原因,必須經過反向代理去分發(fā)不同的服務功能,同時由于代理的服務特殊,執(zhí)行時間通常會很長,所以超過60秒就會報錯。經排查,未經由nginx反向代理,直接訪問代理服務并不會出現(xiàn)60超時問題。報錯內容:
An error occurred.
Sorry, the page you are looking for is currently unavailable.
Please try again later.
If you are the system administrator of this resource then you should check the error log for details.
Faithfully yours, nginx.
報錯如圖:
原因分析和處理:網上百度說是nginx超時問題引起的,然后找到很多關于長連接keepalive_timeout,客戶端請求體響應時間client_body_timeout,響應時間send_timeout,客戶端消息頭讀取時間client_header_timeout等參數(shù)的配置,但是經過測試,均無效果。
后增加了proxy_read_timeout參數(shù),設置了超過60秒,問題解決。
參數(shù)解釋:
nginx中的proxy_read_timeout指令用于設置代理連接的超時時間。當nginx作為代理服務器轉發(fā)請求給后端服務器時,如果后端服務器在指定的時間內沒有響應,nginx將終止連接并返回錯誤。
該指令的默認值為60秒,可以根據需要進行調整。較短的超時時間可以更快地檢測到后端服務器的故障,但同時也可能因為服務器響應時間過長而誤判為故障。較長的超時時間則可以容忍后端服務器的響應延遲,但也會增加客戶端請求的等待時間。
需要注意的是,proxy_read_timeout指令只控制讀取響應的超時時間,不包括與后端服務器建立連接的時間。如果需要設置連接超時時間,可以使用proxy_connect_timeout指令。
到此這篇關于nginx反向代理60s超時報錯問題解決的文章就介紹到這了,更多相關nginx反向代理超時報錯內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
nginx FastCGI錯誤Primary script unknown解決辦法
這篇文章主要介紹了nginx錯誤Primary script unknown解決辦法,需要的朋友可以參考下2014-03-03nginx配置location總結location正則寫法及rewrite規(guī)則寫法
本文詳細講述了Nginx location正則寫法,Nginx 的Rewrite規(guī)則以及Nginx.conf中if指令與全局變量2018-10-10Nginx(PHP/fastcgi)的PATH_INFO問題
PATH_INFO是一個CGI 1.1的標準,經常用來做為傳參載體. 比如, 我們可以使用PATH_INFO來代替Rewrite來實現(xiàn)偽靜態(tài)頁面, 另外不少PHP框架也使用PATH_INFO來作為路由載體.2011-08-08nginx-ingress-controller日志持久化方案的解決
這篇文章主要介紹了nginx-ingress-controller日志持久化方案的解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-03-03CentOS 7.3.1611編譯安裝Nginx1.10.3+MySQL5.7.16+PHP7.1.2
這篇文章主要介紹了CentOS 7.3.1611編譯安裝Nginx1.10.3+MySQL5.7.16+PHP7.1.2,需要的朋友可以參考下2018-01-01