0


nacos升级版本 从1.4.x升级到2.2.0 Springboot项目

项目背景:

项目上由于安全考虑,要升级nacos版本,在1.4.x低版本时会有未授权访问的安全漏洞(参考博客:Nacos未授权访问复现及修复);因此要升级到2.x.x版本以上,其中遇到不少坑,在此分享一下 希望能让你少走弯路。

项目版本:
项目框架nacos版本SpringBoot 2.6.31.4.2

① 升级nacos程序版本

首先需要升级你的nacos版本,这个应该很简单,下载你需要对应的版本的nacos包即可,具体包怎么下应该很容易搜到

② nacos开启注册认证
  1. 进入nacos下的conf目录,找到application.properties文件
  2. 找到 nacos.core.auth.enabled 将其改为true(默认是false)
  3. 找到 nacos.core.auth.plugin.nacos.token.secret.key ,这里要注意!!!在2.2.0之前位数少会自动补满,但是最新版本需要自行填充满,如果没有填充nacos会启动报错,所以这里必须手动填写
  4. 项目中配置naocs的地方 bootstrap.yml加上username和password
  5. 完成
③ 升级项目中nacos连接服务依赖

复制粘贴下面依赖

<properties><spring.cloud.version>2021.0.5</spring.cloud.version><spring.cloud.alibaba.version>2021.0.5.0</spring.cloud.alibaba.version><spring.boot.version>2.6.13</spring.boot.version></properties><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring.cloud.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring.cloud.alibaba.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring.boot.version}</version><type>pom</type><scope>import</scope></dependency>

这里要非常注意版本号的关系
查看spring-cloud-alibaba版本说明可以发现,2022.x 分支的Spring Cloud Alibaba Version都要求3.0以上的SpringBoot版本;

在这里插入图片描述

而我的项目一开始使用的版本是2.6.3,jdk8,如果要使用更高版本的SpringBoot将会使用更高版本的jdk,从而会使项目不兼容导致报错:类文件具有错误的版本 61.0, 应为 52.0 请删除该文件或确保该文件位于正确的类路径子目录中

在这里插入图片描述
可以看到,Spring Boot 3以上版本至少得依赖JDK17版本,如果项目中要求使用JDK8版本,那么只能使用Spring Boot 2版本了。

查看Spring Cloud的组件版本可知道:2021.x分支的Spring Cloud已经就带有2.2.0的nacos版本,故经综合项目情况考虑,我们采用2021.0.5.0的Spring Cloud Alibaba Version,Spring Boot的版本要求也不需要太高,只需要2.6.13版本,至此完美适配,成功升级nacos版本到2.2.0
在这里插入图片描述
在这里插入图片描述

标签: spring boot 后端 java

本文转载自: https://blog.csdn.net/mekings13/article/details/138185346
版权归原作者 汤圆不扁 所有, 如有侵权,请联系我们删除。

“nacos升级版本 从1.4.x升级到2.2.0 Springboot项目”的评论:

还没有评论