訪問nginx出現403錯誤怎麼解決?監控發現nginx服務日志中出現較多的499狀态碼,499狀态碼在Nginx中代表的是客戶端在服務端返回之前主動斷開了連接,由于客戶端設置的超時時間為2s,故到達2s未收到服務端響應客戶端主動斷開了連接造成了499響應碼,我來為大家講解一下關于訪問nginx出現403錯誤怎麼解決?跟着小編一起來看一看吧!
監控發現nginx服務日志中出現較多的499狀态碼,499狀态碼在Nginx中代表的是客戶端在服務端返回之前主動斷開了連接,由于客戶端設置的超時時間為2s,故到達2s未收到服務端響應客戶端主動斷開了連接造成了499響應碼。
二、可能的故障點初步判斷與服務器無關。
四、排查網絡問題初步判斷網絡設備沒有問題。
五、排查專線線路問題後端服務是合作方的服務,通過專線相連接,專線有主、備兩條,分别屬于電信和移動運營商,主線經過電信的排查帶寬無問題,排查期間将線路切換到備線,問題依舊存在。
初步判斷與專線線路無關。
六、排查後端服務性能問題由于超過2s客戶端主動斷開了連接,無法判斷後端服務是否收到了請求且是否正常響應。在nginx location模塊的配置中添加配置: proxy_ignore_client_abort on;,添加此配置以後,雖然客戶端到達2s以後會主動斷開連接,但是nginx會繼續轉發到後端服務且等待後端服務返回,并打印日志。
添加完此配置以後,發現日志中已經沒有出現499的響應碼,查看response time大于2s的請求,發現均正常返回,但是響應時間超過2s,高峰之時,響應時間最高超過10s。
由此可以判斷,後端服務是能夠正常收到請求的,隻是由于後端服務網絡設備或者是後端服務在大流量的情況下性能不足,導緻響應緩慢,從而出現大量499響應碼。
七、排查結果當流量升高時,大約1000TPS左右,響應時間顯著提高,從原來毫秒級别變成最大超過10秒鐘,此時使用ping發現沒有網絡延時,可以确定是後端服務存在性能問題。
以上排查主要是提供的排查的方法,逐步排查各個可能的故障點,實際生産排查中一般根據經驗調整排查的順序,例如直接就先排查後端的服務的響應時間,這個就依賴于個人的經驗了。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!