接口404問題解決過程記錄

?一、背景

測試人員突然向我反饋,說線上的接口訪問不了,返回404了。確認問題確實存在,在查找原因的過程中接口恢復正常。感覺這個問題還是挺有意思,所以記錄下來。

?二、404狀態(tài)碼

404 Not Found,一般情況都是指請求服務器上沒有的資源

三、解決問題的過程

1.首先想到的是,服務器上的接口文件沒了,登進去查看文件是正常的

2.考慮是否是nginx的配置更改導致訪問不到,查看了下也是正常

3.接口又恢復正常,考慮是不是公司網(wǎng)絡調(diào)整導致的,問了問運維網(wǎng)絡也沒有任何調(diào)整

4.查看nginx上面的日志發(fā)現(xiàn)確實請求到了服務器上,并且返回了404

查到這里之后就隱約感覺到可能要漲見識了

5.接下來查看了nginx的錯誤日志(error.log),看到頻繁報以下的報錯

18522#0: *5382085 recv() failed (104: Connection reset by peer) while reading response header from upstream

6.根據(jù)這個報錯查找網(wǎng)上資料,說是由于php的運行時間超過php-fpm設置的超時時間(request_terminate_timeout)會提示這個錯誤

7.將request_terminate_timeout設置值增大,重啟php-fpm,驗證問題解決


四、寫文檔真有用

1.之前的解決過程就是如第三步所示,但是在記錄問題的時候突然思考這種情況不應該報502的錯誤么......

2.在測試環(huán)境進行驗證下,寫個接口,里面sleep(50),在瀏覽器中訪問下,果然如預期返回了502......

3. ..........

4.繼續(xù)查找之前的error.log日志,發(fā)現(xiàn)還有以下的報錯

18523#0: *5381683 open() "/var/www/html/50x.html" failed (2: No such file or directory)

5.看了下nginx.conf,找到以下配置

error_page? 500 502 503 504? /var/www/html/50x.html;

6.在測試環(huán)境驗證了下,出現(xiàn)了預期的404,大功告成。

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

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