client prematurely closed connection
这个异常,请求返回状态是500,nginx中的status是400。
问题描述:
项目里面一个分享接口。
使用公司内网访问ios、安卓、浏览器都可以访问通。
如果使用互联网访问,安卓、浏览器可以访问通,但ios不行,但其他接口ios访问都没有问题。
问题出现之后,感觉有点诡异。之前没有遇到这种情况,所以一点一点的排查分析。
访问端:排除ios手机的问题,因为如果是手机问题,接口都应该不能访问。
服务端:查看日志,请求只到了nginx反代服务器,没有分发到后面的应用服务器(日志没打印),于是可以排除是项目代码的问题。
问题就是出现在请求到nginx之间(access.log日志打印,status为400)。
按照度娘上nginx出现400的原因,分析一遍之后,发现并没有解决问题。
至此,我想到极大可能是网略方面出现了问题。
于是找网略组同事开始抓包分析,最终找了原因,是因为WAF拦截了一个合作商的域名导致的。放开之后,接口正常访问了。
这次的问题,是安全方面给拦截出现的,并不是程序本身问题。
如果有相同困惑的伙伴,可以看看是否是网路安全策略的问题。
标签:访问,ios,问题,nginx,connection,client,closed,400,prematurely From: https://www.cnblogs.com/zhizhixiaoxia/p/17787531.html