问题表现:
1.页面能够正常加载出来
2.页面加载后的ajax请求批量502,且稳定重现
![](https://img.haomeiwen.com/i16071516/d283d2092d9a0ca9.png)
排查过程:
1.502稳定重现,本能怀疑是后端问题,随即排查后端日志及逻辑。
但是很快发现不对,首先如果是后端问题,按道理应该有相应的错误日志,排查无果,怀疑是其他问题。
2.反馈运维,运维通过工具检测,说是域名指向问题。
但是感觉不对,如果是域名指向问题,没道理页面正常加载,页面加载的域名和ajax请求域名是同一个的,这说不通。所以继续排查。
3.后面发现Nginx日志日常
![](https://img.haomeiwen.com/i16071516/cc728b921b449684.png)
upstream sent too big header while reading response header from upstream。
继而发现是缓冲区爆掉了,导致没有正常的从Nginx返回数据所以才502的。
缓冲区默认是 4k / 8k;
由于项目很老了,一直迭代,突然缩减header也不现实,所以运维那边将缓冲区设置大了。
proxy_buffer_size 64k;
proxy_buffers 32 64k;
proxy_busy_buffers_size 128k;
自从,本次问题排查结束。后续经验是如果502不一定是web层服务问题,也需要考虑是否是Nginx等网络层的问题导致的。
网友评论