一次Redis服务故障引起的登录故障

一次Redis服务故障引起的登录故障

精选文章moguli202025-05-18 15:50:1014A+A-

最近学校开发人员空然反应所换负责的企业模块无法打开,后台所报错误为:

严重 [catalina-exec-1391]
org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [appServlet] in context with path [] threw exception

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)

让网络运维人员协助排查网络问题,根据异常提示为证书问题,无耐开发人是领导的心头肉,一口咬定代码未动,突然出现的故障,一定是网络问题,让网络解决。只好应着头皮排查问题,先把生产环境做了个全通测试,并对出口防火墙做了个DEBUG测试抓图,给开发反馈网络正常没有问题 。

开发也是一脸懵,不知道怎么回事,好歹用过JAVA编程,把服务器密码要了过来,登录服务器看了一下所有JDK环境是个绿色版的少security文件夹,给反馈了一下让把JDK环填重新安装一下,恢复正常。

第二天早上班发现又出现了同样的故障,不过这次故障比较奇怪,先是抛出异常,但是业务可以正常使用,大概十几分钟之后系统彻底崩溃,无法打开。然后过了一段时间又自动恢复正常。只好继续跟进,查看了程序源代码,发现流程是:先从企业微信获取一个TOKEN值,然后用token和用户id和企业微信进行数据交换,对代码进行了一打印输入,发现这次和上次不同的是这次可以获取到token值和昨天的无法获取的token还不一样,无耐让开发把和企业微信交换数据的url给打印出来,测试了一下发现企业微信报错,invalid token。非法的token值,怎么回非法,一脸懵逼,问了一下开发,原来是把token放到redis服务器了有效期为十分钟。至次破案,原来拿到的token值是从redis服务器拿到的,过期之后redis服务器未删除该值,导致仍然从redis服务器取值,然后服务器抛出的异常为证书错误,一直在证书上面纠结了。让开发把redis处理一下,故障解决,业务恢复正常,经过一天的观察再无故障出现。

点击这里复制本文地址 以上内容由莫古技术网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

莫古技术网 © All Rights Reserved.  滇ICP备2024046894号-2