开发者社区 > 云原生 > 正文

我们要把Nacos2.0.3升级到2.2.3的版本,有一个token不兼容的问题怎么解决?

nacos 大牛们,我们要把nacos2.0.3升级到2.2.3的版本,解决下线上的安全漏洞,但是目前在开发环境验证下来,要升到产线的有一个token不兼容的问题会导致影响服务,测试下来,2.0.3版本的token不能在2.2.3的版本验证通过,这样导致升级过程中,客户端token有缓存默认5个小时,这样在滚动升级过程中,就会导致服务注册不上来了,目前能想到的事提前修改token失效时间,比如改为30秒,等5个小时后,再来滚动升级,这样就上影响30秒。还是有风险,社区的大佬们有成功的经验不。

展开
收起
奔放或澜 2023-12-03 12:15:22 172 0
2 条回答
写回答
取消 提交回答
  • 对于Nacos版本升级导致的Token不兼容问题,这是一个比较常见的问题。以下是一些可能的解决方案:

    1. 更新Token生成和验证的逻辑:在升级Nacos版本的同时,也更新你的应用程序中的Token生成和验证的逻辑,使其适应新的Nacos版本。这可能需要你修改你的应用程序的代码。

    2. 增加Token的过期时间:这是你提到的方案,即通过增加Token的过期时间,使得在滚动升级的过程中,旧的Token可以在新版本的Nacos中正常使用,从而避免服务注册不上来的问题。

    3. 使用新的Token格式:如果你无法修改你的应用程序的代码,或者你不希望修改你的应用程序的代码,你可以考虑使用新的Token格式。在新的Nacos版本中,通常会提供新的Token格式,这种新的Token格式可以在旧版本的Nacos中使用,也可以在新的Nacos版本中使用。

    4. 使用Nacos的回退机制:在某些情况下,Nacos提供了回退机制,即当新的Nacos版本出现问题时,可以通过配置使Nacos回退到旧版本。这可以帮助你在升级Nacos版本的过程中,避免服务注册不上来的问题。

    总的来说,解决Token不兼容问题的关键是更新你的应用程序中的Token生成和验证的逻辑,或者使用新的Token格式。在升级Nacos版本的过程中,你应该尽量避免影响服务的正常运行。

    2023-12-05 10:15:13
    赞同 展开评论 打赏
  • 要不就服务端先关了鉴权,等时间过了,再开。那如果有动态配置推送的,确实得评估下。如果是项目启动相关配置,那不用考虑,具体得再看看——该回答整理自钉群“Nacos社区群3”

    2023-12-03 17:20:25
    赞同 展开评论 打赏

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

更多
Nacos架构&原理 立即下载
workshop专场-微服务专场-开发者动手实践营-微服务-使用Nacos进行服务的动态发现和流量调度 立即下载
Nacos 启航,发布第一个版本, 云原生时代助力用户微服务平台建设 立即下载