问题描述:
前端web页面请求后端服务时,接口一直出现50s超时,有时某些接口偶尔会出现50s超时,超时时间都是初始连接阶段,如下图,后端也看不到任何报错。单独用apifox去调接口,接口又都好着了,只要把前端服务重启下就好了,但过一段时间,问题又出现了,又得重启前端服务。
问题定位:
由于前端是vue+nginx部署,检查nginx配置,发现问题了,如图:
下面是nginx配置:
- 发现未配置 proxy_connect_timeout(连接超时)、proxy_send_timeout(发送超时),Nginx 默认的连接超时就是50 秒,完美对应你截图里的 50 秒超时!
- 同时,你没配置 Connection: close,Nginx 默认复用长连接,一旦后端服务重启 / 网络波动,就会产生死连接,新请求被阻塞在连接池,直到 50 秒超时。

修复后,如下所示:
按照下面修改后,问题解决!

