寶塔面板網(wǎng)站502 Bad Gateway無法正常打開的解決過程

站點(diǎn)部署情況:

前端vue、后端接口API thinkphp6.1,
采用寶塔面板部署,前端后端均強(qiáng)制使用https協(xié)議;
前端站點(diǎn)配置反向代理訪問api;

癥狀:

前端頁面正常打開,訪問api提示服務(wù)器錯誤,瀏覽器Devtools查看網(wǎng)絡(luò)選項卡,發(fā)現(xiàn)所有反向代理的post請求都返回的502 Bad xxxx;

解決過程
  1. 打開api站點(diǎn)添加測試路由直接訪問,發(fā)現(xiàn)正常返回數(shù)據(jù) (說明api站點(diǎn)沒有問題)
  2. 查看前端網(wǎng)站日志,日志提示:[error] 27383#0: *63259 upstream prematurely closed connection while reading response header from upstream,
  3. 查看api站點(diǎn)WAF,關(guān)閉站點(diǎn)WAF 訪問恢復(fù)正常
  4. 去掉所有WAF設(shè)置和規(guī)則,打開WAF,又提示502
  5. 修改前端站點(diǎn)反向代理配置文件加入超時配置如下,重啟Nginx問題解決
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 300s;
proxy_buffering off;

  1. 恢復(fù)所有WAF設(shè)置和規(guī)則,開啟WAF,依舊正常,至此問題解決
原因

upstream prematurely closed connection
表示 后端服務(wù)(upstream,即 xxx.xxx.xxx.xxx:443)在 Nginx 還沒讀到完整的響應(yīng)頭時就斷開了連接。

Nginx 是作為反向代理,把請求轉(zhuǎn)發(fā)到 upstream,但后端還沒返回正確的 HTTP 響應(yīng)頭就關(guān)閉了連接,所以 Nginx 報錯。

所以考慮調(diào)整反向代理超時時間解決

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容