Docker 部署升级 Nacos 至 2.2.3 版本解决 raft 漏洞问题

文章介绍了如何解决Nacos老版本中的raft漏洞,通过升级到最新版本2.2.3并设置新的环境变量NACOS_AUTH_TOKEN、NACOS_AUTH_IDENTITY_KEY和NACOS_AUTH_IDENTITY_VALUE。升级过程包括拉取新镜像,更新数据库结构,以及处理权限控制问题,如需创建permissions表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 问题描述

nacos 老版本发现有 raft 漏洞,直接升级最新版 2.2.3 解决问题。

2. 升级步骤

  1. 拉取最新镜像

    docker pull nacos/nacos-server:v2.2.3
    
  2. 在原部署参数基础上增加以下三个环境变量

     -e NACOS_AUTH_TOKEN=
     -e NACOS_AUTH_IDENTITY_KEY=
     -e NACOS_AUTH_IDENTITY_VALUE=
    

    其中 NACOS_AUTH_TOKEN 使用以下命令从老版本服务中获取

    curl -X POST '127.0.0.1:8848/nacos/v1/auth/login' -d 'username=nacos&password=nacos'
    

    NACOS_AUTH_IDENTITY_KEYNACOS_AUTH_IDENTITY_VALUE 获取方式参考下面链接
    参考链接

  3. 更新原数据库三个表的字段

    ALTER TABLE config_info ADD encrypted_data_key varchar(255) DEFAULT NULL COMMENT '加密key';
    ALTER TABLE config_info_beta ADD encrypted_data_key varchar(255) DEFAULT NULL COMMENT '加密key';
    ALTER TABLE config_info_tag ADD encrypted_data_key varchar(255) DEFAULT NULL COMMENT '加密key';
    
  4. 启动新版 nacos 容器即可

3. 问题记录

  1. AUTH_TOKEN 问题
    随意填写,但是不要带有特殊符号,否则有可能报错。
  2. 【权限控制-权限管理】报错找不到 permissions
    进入容器命令行,找到 /home/nacos/conf/mysql-schema.sql 初始化 sql 脚本,最后面有创建 permissions 表的语句,执行即可。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值