1. 问题表现:
1)海外访问移动app,出现部分接口不能访问,其他接口访问正常,国内访问正常;
2)接口监控,成功率正常;
3)nginx找不到用户访问日志;
2. 解决:
1)用户网络不好导致,本地使用charles模拟弱网情况延迟访问,出现:remote server closed the connection before sending response header
2)最后查看nginx配置,发现是nginx断开连接,设置了以下参数导致:
client_header_timeout 1;
client_body_timeout 1;
当时设置都是1s,如果用户网络延迟大,超过1s时,会导致数据还没有达到nginx,nginx就断开连接问题。
具体参数含义,可以google下。
3)最后修改nginx配置参数,调整>=客户端请求超时时间
client_header_timeout 10;
client_body_timeout 10;