nginx 代理访问后台接口502
客户的项目后台登录的接口突然报502,早上还可以用,突然就不行。
首先排查了下nginx的配置是否有问题,no problem。
so,再次排查服务器的内存,磁盘占用,too no problem。
最后打开nginx的错误日志,发现
怀疑可能是服务器后台某个线程资源一直在给客户端发送数据导致nginx出现这个问题
经询问,原来是早上客户导出一个3万多条的excel文件,很慢,但是客户把浏览器关了,后台还在继续发送数据。
查阅资料,
errno = 104 错误表明你在对一个对端socket已经关闭的的连接调用write或send方法,在这种情况下,调用write或send方法后,对端socket便会向本端socket发送一个RESET信号,在此之后如果继续执行write或send操作,就会得到errno为104,错误描述为connection reset by peer。
但是呢自己是个nginx菜鸡,资料上提到要去改nginx的缓冲区大小,超时时间,缓存等等,不太敢在客户服务器上弄。
最后,只能stop掉后台项目,重新启动start。解决