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

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

严重 [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处理一下,故障解决,业务恢复正常,经过一天的观察再无故障出现。

相关文章

SpringBoot 优雅整合Swagger Api 自动生成文档

一个好的可持续交付的项目,项目说明,和接口文档是必不可少的,swagger api 就可以帮我们很容易自动生成api 文档,不需要单独额外的去写,无侵入式,方便快捷大大减少前后端的沟通方便查找和测试接...

JWT在Java项目中的身份验证:解锁安全之门

JWT在Java项目中的身份验证:解锁安全之门在当今数字化浪潮中,互联网应用的规模日益扩大,安全性成为了软件开发的核心关注点之一。特别是在用户身份验证这一环节,传统的Session机制已经逐渐被一种更...

登录人人都是产品经理即可获得以下权益

在 2025 年,AI 爬虫领域迎来了全新变革。本文聚焦于 2025AI 爬虫最佳实践,深入实战演示如何运用 Deepseek、Crawl4ai 以及 Playwright MCP 这三大工具组合,实...

JWT在Java Web中的应用:一次轻量级认证与授权的探索

JWT在Java Web中的应用:一次轻量级认证与授权的探索在现代Web开发中,安全认证和授权是一个绕不开的重要话题。传统的Session机制虽然功能强大,但在微服务架构日益流行的今天,却显得有些笨重...

web项目实战1-登录校验注解

web项目实战1-登录校验注解(拦截器+注解的实例应用)前言在我们进行互联网项目中,经常会遇到我们这个请求必须登录后才能访问。这是一个非常常见的问题,这个请求可能是一个页面也可能是一个Ajax,这就需...