部署阿里云服务后token无效

来源:1-4 代码生成器初体验

慕的地5474854

2022-02-09

老师您好,本地调试没问题,部署到阿里云服务器以后token无效被拦截。
gateway拦截日志:
图片描述
检查过了gateway和server的Redis相关配置,都是和老师你的一样:
图片描述
其中在gateway模块:
Object object = redisTemplate.opsForValue().get(token);
在本地开发时都能正常接收object对象。
但是部署到阿里云以后gateway模块中的object为null。
经过测试,部署在ECS服务器上后,在system模块中
redisTemplate.opsForValue().set(token, JSON.toJSONString(loginUserDto), 3600, TimeUnit.SECONDS); 后面增加
Object object = redisTemplate.opsForValue().get(token);
可以在system模块中正常接收object对象,但是在gateway模块中的object对象为null,所以导致了token无效401错误。

请问一下老师该怎么处理啊?gateway模块中的验证码也是使用redis进行传输的,验证码可以正常接收,为什么object无法正常接收呢?gateway中的Redis配置是正确的,如果Redis配置错误的话,验证码也无法正常接收。
需要单独把server模块打包成一个jar包传到阿里云ECS上吗???

写回答

2回答

甲蛙

2022-02-10

按你的描述,看不出来问题,验证码的放和取都是在system模块,跟gateway的redis无关?

你在发布过程中,有没有改过redis,改过后记得要重新打包

可以安装个redis客户端,登录上去看看,确认下redis里确实有token,且value是对的

下载视频          
0
0

甲蛙

2022-02-09

server不需要单独打包发布

你的问题看起来是gateway的redis的问题,有可能配置的跟server的不一样,看下代码配置文件,或者是不是在nacos控台有配置redis

另外一点,可以确认下你set的token和登录拦截时传的token是否是一样的,且类型要一致。比如set的时候是数值 1,get的时候是字符串 "1",是获取不到的 

0
2
慕的地5474854
本地开发时都是正常的,部署在ECS后就无法在gateway中接收token的值了!!!
2022-02-10
共2条回复

Spring Cloud+ Vue前后端分离开发企业级在线视频系统

全网稀缺课程 市场热门项目+主流框架 一课掌握前后端技术

1743 学习 · 1697 问题

查看课程