背景

周末普惠工作台出现大批量客服反馈,登录了普惠工作台后再登录千帆系统页面会出现 502 错误,影响客服接线和处理问题效率

原因

通过排查后端服务发现接口正常返回没有异常,因为当中还涉及到了多层的 Nginx 转发,所以排查 Nginx 相关日志,找到以下错误信息
[error] 12917#0: *62380774 upstream sent too big header while reading response header from upstream.
此问题出现的原因是后端响应的header头信息太多,超过了 Nginx 设置的大小

解决

解决的方案有两个,思路如下:
image.png

第一条路子修改Nginx

修改Nginx配置需要找运维,并且服务的代理有很多层,某一个 Nginx 设置过小都会导致502,涉及的影响太大所以放弃。
具体修改内容可以参考另一篇文章:

第二条路子减少cookies大小

由于业务复杂影响的系统多,所以不能轻易的删除携带的 cookies的内容,只能从设置cookies时候的domain入手。
此时查看业务代码发现,部分业务在种cookies的时候使用的是 .xiaojukeji.com ,根域名会在所有子域名下生效,也是导致此次问题的根本原因,例如star.xiaojukeji.com,starsls.xiaojukeji.com等。相同子域名之间的 cookies 是不可以进行共享,例如:star.xiaojukeji.com,starsls.xiaojukeji.com。