简单的描述一下场景:
给一个公司部署了我们的后台,并且进行绑定域名aaa.xuan.com。访问地址为 aaa.xuan.com:11111 在我们公司通过浏览器访问登陆正常。 在系统运行了一段时间有客户反应前一天使用系统正常,但是现在登陆失败。同公司的其它同事登陆正常(抓狂)。我们其他的客户没有这样的问题。
然后就开始了痛苦的定位历程
1.在我们公司登陆没有问题。同公司也有其他人登陆也没有问题,说明这个是一个个例
2.通过远程发现,只要清除缓存,重新登陆就可以了(这个方案被使用方吐槽)
3.查看浏览器的发送请求的记录,发现了以下端倪
3.1.登陆的接口 /user/login 返回成功,并且返回了sessionId
3.2.登陆后加载数据,请求了其他接口,然后请求的essionId与返回的不一致(这个。。what?????)
4.本次异常的原因是:
其他的接口请求的sessionId和登陆返回的不一致
5.开始各个环节怀疑(后台-肯定没毛病,嘿嘿 运维---nginx我们线上的一样 前端-----这个锅我们不背 )
5.然后google,度娘去找答案(茫然)
6.直到前端在茫茫大海中给我们指明了一个方向
通过指导我们发现,在cookies里面有一个.xuan.com的sessionId,我们请求的sessionId是这个(惊喜).
通过实验发现如果出现这个,然后在重新登陆我们系统就会发生上述情况