请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

Simon.hu 讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2020-11-9 17:41  /   查看:3505  /  回复:0
本帖最后由 Simon.hu 于 2020-11-9 17:47 编辑

遇到了一个超级难啃的问题,经过上周五晚上干到8点,到周一早上干到12点,这么一个棘手的问题,终于解决了,这里有必要跟大家做一下分享,希望以后遇到这些问题的大佬,不要在耽搁这么长的时间了
项目背景
北京的以为小姐姐,他是公司的一个业务人员,自己找的活字格,提高了自己项目组一致于自己公司的同事的工作效率(不知道小姐姐现在是不是升值加薪了
他们因为是比较大的企业,同时又涉及到金融行业,所以公司的网络可能比大家的做法会多一层Nginx,这样很多东西更加好控制,比如限制的IP,设置域名啥的
image.png390615844.png
问题描述
某一个周四,突然公司停电了几个小时,然后等电来了以后,发现活字格的服务器管理器可以打开并正常使用;
已经发布应用能打开,但是不能登录,不能登录的表现驶入用户名密码以后还是打开的用户名密码页面,但是浏览器的这个地址确实变了
image.png312305297.png

问题调查
看到这个问题以后,我其实觉得特别的奇怪的,怎么可能呢?
所以远程过去看了一下,他告诉了我们一个很奇怪的情况,说只有在360浏览器兼容模式中可以访问,其他任何的浏览器都不行;
我看了一下,他的IE是IE9,360兼容模式就是IE的内核,那在这台机器上说明就是IE9的内核,但是为啥就IE9的内核可以呢?
我也想不明白

于是,我交了很多的公司大神跟我一起看,我们的开发,我们公司得到网管,都没发现问题;等到了晚上8点的时候,我们的一个同事说,看起来似乎是活字格自己把自己的登信息给清除了,看到了一些登录用户的信息更服务器对不上,我们猜想不知道是什么原因,因为需要同对方的网络管理员沟通,但是已经晚上8点了,人家已经下班了;我们猜想如果能把客户的用户授权换成并发用户授权,可能先嫩临时能用;
所以周五我们就先使用了并发用户授权代替用户数授权的方式,给了客户临时的解决方案,并相约周一一起在远程一下~~

周一来了以后,对方的网管表示就是停电了,他们也什么都么有修改,肯定不是配置的问题,并且说产品是不是不稳定
(虽然我心里非常想砍死他,但是本着客户至上的原则,我忍了

我就想,如果真的不是他人为的问题,也不是活字格的问题,那就只有一个可能就是电脑的问题,电脑能有什么问题呢?一下子我就想到了以前一个大神告诉过我他重启以后,系统时间不对了。我恍然大悟,这个问题很有可能也是服务器是时间的问题
但是服务器和浏览器的时间确实都一样啊
image.png376627501.png
那么问题应该是他Nginx服务器的时间了,于是我们让他看了一下他Nginx服务器的时间
然后,我们发现了
image.png263602904.png
这是美国东部时间,约比北京时间快了6个小时
苍天啊,大地啊,终于找到这个问题了

原理解释
为什么时间不对,会影响这个呢?
其实这个是一个token或者cookie到期的问题,这些英文是什么意思,大家可以不用管,你可以把他当做是一个有过期时间的验证码,有过期时间主要是为了安全,总不能一直有效嘛;当浏览器发送请求以后,到服务器上,会有一个到期时间,一般为几分钟不到1小时这种(1小时已经很奔放了);如果你浏览器和服务器的时间对不上,那这事就凉凉了,一登录就发现过期了,需要重新登录;再登陆又过期了,需要重新登录;........
所以就有了这个表现

解决办法
修改服务器的时间就行了;
但是这个是linux服务器,没有界面的那种,所以要使用命令行
centOS,命令行
  1. 修改时区
  2. ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
复制代码
  1. 修改日期
  2. date -s 12:00:00
复制代码
image.png949696350.png
然后就好了

问题引申
默认情况下重启会导致设置的系统时间丢失,通过这个命令可以确保重启之后系统时间不丢。
image.png738692931.png
教程地址

评分

参与人数 1满意度 +5 收起 理由
wenll + 5 赞一个!

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部