最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx報(bào):Nginx?-?504?Gateway?Time-out問(wèn)題解決辦法

 更新時(shí)間:2024年01月22日 11:18:28   作者:風(fēng)行無(wú)痕  
這篇文章主要給大家介紹了關(guān)于Nginx報(bào):Nginx?-?504?Gateway?Time-out問(wèn)題的解決辦法,一般是由于程序執(zhí)行時(shí)間過(guò)長(zhǎng)導(dǎo)致響應(yīng)超時(shí),例如程序需要執(zhí)行90秒,而nginx最大響應(yīng)等待時(shí)間為30秒,這樣就會(huì)出現(xiàn)超時(shí),需要的朋友可以參考下

問(wèn)題背景

線上有個(gè)系統(tǒng),最前端是設(shè)置了nginx作為代理,有個(gè)1個(gè)請(qǐng)求的接口需要耗時(shí)1.1分鐘左右,老是出現(xiàn)Nginx - 504 Gateway Time-out的錯(cuò)誤。

問(wèn)題分析

繞過(guò)nginx直接訪問(wèn)應(yīng)用tomcat直接的端口進(jìn)行相同條件測(cè)試,發(fā)現(xiàn)沒(méi)有問(wèn)題,排除接口和系統(tǒng)的問(wèn)題,那么問(wèn)題就是nginx超時(shí)參數(shù)配置的問(wèn)題,很多參數(shù)沒(méi)有指定的情況默認(rèn)都是60S,所以應(yīng)該是這個(gè)原因。

解決方法

在nginx加入下面配置,可以解決Nginx - 504 Gateway Time-out問(wèn)題

默認(rèn)60秒超時(shí)

http {
    #配置在該區(qū)域會(huì)影響所有的server塊 以下解決nginx 504問(wèn)題
    proxy_connect_timeout 600; #單位秒 默認(rèn)60
    proxy_send_timeout 600; #單位秒 默認(rèn)60
    proxy_read_timeout 600; #單位秒 默認(rèn)60
}

location / {
    # 以下解決nginx 504問(wèn)題
    proxy_send_timeout 600; #單位秒 默認(rèn)60
    proxy_read_timeout 600; #單位秒 默認(rèn)60
    proxy_connect_timeout 600; #單位秒 默認(rèn)60
}

拓展知識(shí)

  • proxy_connect_timeouttime:與后端/上游服務(wù)器建立連接的超時(shí)時(shí)間,默認(rèn)為60s,此時(shí)間不超過(guò)75s。
  • proxy_read_timeout time:設(shè)置從后端/上游服務(wù)器讀取響應(yīng)的超時(shí)時(shí)間,默認(rèn)為60s,此超時(shí)時(shí)間指的是兩次成功讀操作間隔時(shí)間,而不是讀取整個(gè)響應(yīng)體的超時(shí)時(shí)間,如果在此超時(shí)時(shí)間內(nèi)上游服務(wù)器沒(méi)有發(fā)送任何響應(yīng),則Nginx關(guān)閉此連接。
  • proxy_send_timeout time:設(shè)置往后端/上游服務(wù)器發(fā)送請(qǐng)求的超時(shí)時(shí)間,默認(rèn)為60s,此超時(shí)時(shí)間指的是兩次成功寫(xiě)操作間隔時(shí)間,而不是發(fā)送整個(gè)請(qǐng)求的超時(shí)時(shí)間,如果在此超時(shí)時(shí)間內(nèi)上游服務(wù)器沒(méi)有接收任何響應(yīng),則Nginx關(guān)閉此連接。
  • client_header_timeout:默認(rèn)60s。指定等待client發(fā)送一個(gè)請(qǐng)求頭的超時(shí)時(shí)間(例如:GET / HTTP/1.1).僅當(dāng)在一次read中,沒(méi)有收到請(qǐng)求頭,才會(huì)算成超時(shí)。如果在超時(shí)時(shí)間內(nèi),client沒(méi)發(fā)送任何東西,nginx返回HTTP狀態(tài)碼408(“Request timed out”)
  • client_body_timeout:默認(rèn)60s。

其他問(wèn)題:

如果你遇到異常

IllegalStateException – if the getOutputStream method has already been called for this response object

那就說(shuō)明你的程序中有地方調(diào)用過(guò)了,response.getOutputStream();

只需要與已有程序保持一致使用outputStream即可。

即將response.getWriter() 提換成 response.getOutputStream();

原因簡(jiǎn)單來(lái)講就是這兩個(gè)方法互斥。調(diào)用了一個(gè)就不能調(diào)用另一個(gè)。

總結(jié)

到此這篇關(guān)于Nginx報(bào):Nginx - 504 Gateway Time-out問(wèn)題解決辦法的文章就介紹到這了,更多相關(guān)Nginx - 504 Gateway Time-out內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

长兴县| 喀什市| 常山县| 湟中县| 腾冲县| 岢岚县| 武隆县| 平果县| 新晃| 繁昌县| 共和县| 岢岚县| 保德县| 廉江市| 九龙城区| 新密市| 河间市| 顺义区| 山阴县| 绵竹市| 洞头县| 万盛区| 沅江市| 高碑店市| 西盟| 安达市| 沙坪坝区| 松滋市| 宁南县| 台东县| 黎城县| 秦皇岛市| 廉江市| 墨竹工卡县| 宜昌市| 钦州市| 绵竹市| 蒙山县| 蓬莱市| 商都县| 葵青区|