接口重復請求報錯問題排查


背景:接口多次連續請求,客戶端會收到服務端的400的錯誤,但是單次請求是可以成功

因為從服務中看,報錯400 並不是服務暴露出來的,服務沒有日志  但是從nginx中已經看到有錯誤了,肯定發送給了服務,只是這個400,並不是測試的服務返回到,應該是底層返回的

 

 

 

排查問題,最初懷疑客戶端的數據有問題,(因為客戶端要對頭部文件進行加密,擔心加密是不是有變化):

1.客戶端抓包先查看數據,正常的數據流(紅色是客戶端的請求,服務端是藍色的返回)

 

報錯時的數據流(紅色是客戶端的請求,服務端是藍色的返回)

 

 

 從上面看出來客戶端在出錯或者是正確返回時,數據的頭部和內容都一致,基本可以排除是客戶端的問題

2.另外一方面開發還是沒有找到解決問題的原因,我在使用tcpdump 抓服務端的日志,看服務端是否有數據變化,從這里的追蹤流也沒有發現什么問題

 

 

3 最后還是排查nginx的問題

 

 

 這是我配置的nginx,我盡量注釋干擾的配置文件

 

 

 

 最后注釋掉forwarded-user 這個頭部文件就正常了 ,目前對這個forwarded了解不是很深,自我理解他就是做負載均衡的,請求過大是幫我轉到其他服務了,且頭部文件的內容有不正確,目前沒有深究這個問題,留下當一個思考題


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM