上篇对nacos进行了升级,如果有不清楚的小伙伴可以参考文章:https://blog.csdn.net/weixin_38801572/article/details/130237813
本篇主要是对升级后的鉴权问题进行处理,找了好多的文章都是添加username、password操作,但是实际操作过程中会因为各个版本不一致的问题,导致项目过程中报各种各样的错,如403等,本篇将进行详细的操作说明。
一、Nacos升级鉴权
1、nacos版本升级到2.2.2,相关版本如nacos-common等同样也进行升级
<nacos-client.version>2.2.2</nacos-client.version>
2、alibaba-cloud 升级
spring-cloud-alibaba-dependencies 升级2021.0.5.0
<alibaba-cloud.version>2021.0.5.0</alibaba-cloud.version>
3、dubbo版本升级到2.7.23
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.23</version>
</dependency>
4、spring-boot-starter-parent 版本
如果项目因为spring-boot-starter-parent版本过低导致启动失败,则升级到2.7.1,原版本如果是2.6.x或者2.7.x版本的启动正常则忽略
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.1</version>
<relativePath/>
</parent>
5、jedis版本
如果项目中引入jedis,则将该版本升级至3.6.3
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.6.3</version>
</dependency>
6、各种问题问题
(1)项目启动出现:springcloud config client 编译报错 No spring.config.import set
解决方案:
Spring Cloud 新版本默认将 Bootstrap 禁用,需要将 spring-cloud-starter-bootstrap 依赖引入到bootstrap所有moudle的pom工程中:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>3.1.1</version>
</dependency>
(2)循环依赖问题
如果项目启动提示循环依赖,在配置文件中添加配置
spring:
main:
# 解决循环依赖问题
allow-circular-references: true
# properties文件添加
spring.main.allow-circular-references=true
(3)跨域问题
java代码中修改相关配置:
corsConfiguration.addAllowedOriginPattern("*");
二、配置修改
nacos 密码可在nacos页面修改
1、bootstrap.yml nacos配置添加username password
spring:
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848 # nacos地址
username: nacos
password: nacos
config:
server-addr: ${spring.cloud.nacos.discovery.server-addr}
username: ${spring.cloud.nacos.discovery.username}
password: ${spring.cloud.nacos.discovery.password}
2、dubbo配置,配置注册中心registry添加username,password
# 配置注册中心
registry:
address: nacos://${spring.cloud.nacos.discovery.server-addr}
password: ${spring.cloud.nacos.discovery.password}
username: ${spring.cloud.nacos.discovery.username}
parameters:
namespace: ${spring.cloud.nacos.discovery.namespace}