client prematurely closed connection
這個異常,請求返回狀態是500,nginx中的status是400。
問題描述:
項目里面一個分享接口。
使用公司內網訪問ios、安卓、瀏覽器都可以訪問通。
如果使用互聯網訪問,安卓、瀏覽器可以訪問通,但ios不行,但其他接口ios訪問都沒有問題。
問題出現之后,感覺有點詭異。之前沒有遇到這種情況,所以一點一點的排查分析。
訪問端:排除ios手機的問題,因為如果是手機問題,接口都應該不能訪問。
服務端:查看日志,請求只到了nginx反代服務器,沒有分發到后面的應用服務器(日志沒打印),于是可以排除是項目代碼的問題。
問題就是出現在請求到nginx之間(access.log日志打印,status為400)。
按照度娘上nginx出現400的原因,分析一遍之后,發現并沒有解決問題。
至此,我想到極大可能是網略方面出現了問題。
于是找網略組同事開始抓包分析,最終找了原因,是因為WAF攔截了一個合作商的域名導致的。放開之后,接口正常訪問了。
這次的問題,是安全方面給攔截出現的,并不是程序本身問題。
如果有相同困惑的伙伴,可以看看是否是網路安全策略的問題。
浙公網安備 33010602011771號