Nginx報:Nginx?-?504?Gateway?Time-out問題解決辦法
問題背景
線上有個系統(tǒng),最前端是設置了nginx作為代理,有個1個請求的接口需要耗時1.1分鐘左右,老是出現(xiàn)Nginx - 504 Gateway Time-out的錯誤。
問題分析
繞過nginx直接訪問應用tomcat直接的端口進行相同條件測試,發(fā)現(xiàn)沒有問題,排除接口和系統(tǒng)的問題,那么問題就是nginx超時參數(shù)配置的問題,很多參數(shù)沒有指定的情況默認都是60S,所以應該是這個原因。
解決方法
在nginx加入下面配置,可以解決Nginx - 504 Gateway Time-out問題
默認60秒超時
http {
#配置在該區(qū)域會影響所有的server塊 以下解決nginx 504問題
proxy_connect_timeout 600; #單位秒 默認60
proxy_send_timeout 600; #單位秒 默認60
proxy_read_timeout 600; #單位秒 默認60
}
location / {
# 以下解決nginx 504問題
proxy_send_timeout 600; #單位秒 默認60
proxy_read_timeout 600; #單位秒 默認60
proxy_connect_timeout 600; #單位秒 默認60
}
拓展知識
- proxy_connect_timeouttime:與后端/上游服務器建立連接的超時時間,默認為60s,此時間不超過75s。
- proxy_read_timeout time:設置從后端/上游服務器讀取響應的超時時間,默認為60s,此超時時間指的是兩次成功讀操作間隔時間,而不是讀取整個響應體的超時時間,如果在此超時時間內(nèi)上游服務器沒有發(fā)送任何響應,則Nginx關閉此連接。
- proxy_send_timeout time:設置往后端/上游服務器發(fā)送請求的超時時間,默認為60s,此超時時間指的是兩次成功寫操作間隔時間,而不是發(fā)送整個請求的超時時間,如果在此超時時間內(nèi)上游服務器沒有接收任何響應,則Nginx關閉此連接。
- client_header_timeout:默認60s。指定等待client發(fā)送一個請求頭的超時時間(例如:GET / HTTP/1.1).僅當在一次read中,沒有收到請求頭,才會算成超時。如果在超時時間內(nèi),client沒發(fā)送任何東西,nginx返回HTTP狀態(tài)碼408(“Request timed out”)
- client_body_timeout:默認60s。
其他問題:
如果你遇到異常
IllegalStateException – if the getOutputStream method has already been called for this response object
那就說明你的程序中有地方調(diào)用過了,response.getOutputStream();
只需要與已有程序保持一致使用outputStream即可。
即將response.getWriter() 提換成 response.getOutputStream();
原因簡單來講就是這兩個方法互斥。調(diào)用了一個就不能調(diào)用另一個。
總結
到此這篇關于Nginx報:Nginx - 504 Gateway Time-out問題解決辦法的文章就介紹到這了,更多相關Nginx - 504 Gateway Time-out內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Nginx代理到https地址忽略證書驗證配置的實現(xiàn)
在特定情況下,Nginx代理到HTTPS地址可能需要忽略證書驗證,本文就來介紹一下如何實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-09-09
服務器報錯nginx?502?Bad?Gateway的原因及如何解決詳解
項目啟動時莫名其妙網(wǎng)站訪問不了,502 Bad Gateway,下面這篇文章主要給大家介紹了關于服務器報錯nginx?502?Bad?Gateway的原因及如何解決的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-06-06
nginx中封禁ip和允許內(nèi)網(wǎng)ip訪問的實現(xiàn)示例
Nginx不僅僅只是一款反向代理和負載均衡服務器,本文主要介紹了nginx中封禁ip和允許內(nèi)網(wǎng)ip訪問的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03

