一次詭異的502錯誤

環境描述:nginx前段,proxy_pass到後端程序

故障描述:同樣的請求,參數不同,一個可以正常訪問,另外502

揪心的排查過程:1、首先http 502錯誤碼: bad gateway(網關故障),代理服務器使用的服務器遇到來自響應鏈中上游的無效效應。2、從狀態代碼,以及實際情況,懷疑後端程序不穩定。排查nginx到後端程序的連接狀態,持續ping telnet都沒有問題。同時不停的請求正常的url無故障。3、nginx access日誌查看,正常請求先會302 (重定向),然後返回200。但是錯誤請求只有502。同時查看後端程序,正常請求確實倆次。但是錯誤的請求,沒有落後端(畢竟502了,落後端才詭異呢)4、開始糾結,胡亂猜。用chrome 開始bug,發現錯誤請求有一個很快的刷新,但是依舊502.抓不倒。5、智商low的開始懷疑後端程序哪裏有問題,參數傳的不對。6、下班前,研發來要nginx日誌去排查,突然想到errorlog 沒看。重點來了,error log裏面報錯upstream sent too big header while reading response header from upstream7、和研發確認了一下,正常請求302 後傳遞的數據少,但是有些數據header確實比較大8、修改nginx server段配置,proxy_buffer_size 16K;proxy_buffers 64 4K; nginx proxy  doc/9、重啓,解決問題


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