nacos升级开启鉴权后,微服务无法连接的解决方案

版本:

|----------------------|---------------|----------------------------|
| 软件 | 版本号 | 备注 |
| spring boot | 2.2.5.RELEASE | |
| spring-cloud | Hoxton.SR3 | |
| spring-cloud-alibaba | 2.2.1.RELEASE | |
| nacos | 2.0.1 | 从1.4.2版本进行升级。同时作为注册中心和配置中心 |

一、升级nacos版本,开启鉴权

1.在application.properties配置文件开启鉴权,保存后重启nacos

复制代码
nacos.core.auth.enabled=true

2.登录nacos,"权限控制"->"用户列表"->"创建用户",例如test

3."权限控制"->"角色管理"->"绑定角色",例如将test用户绑定test_role角色

4."权限控制"->"权限管理"->"添加权限",例如为test_role角色添加xxxx命名空间的资源和读写权限。

二、代码调整

在微服务的bootstrap.properties配置文件中补充:

复制代码
#nacos服务地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
#nacos鉴权账户
spring.cloud.nacos.config.username=test
spring.cloud.nacos.config.password=123123
#对应的命名空间ID
spring.cloud.nacos.config.namespace=7104456b-d77d-43a0-a8db-d8daf6a85cbe
#分组,标记环境
spring.cloud.nacos.config.group=SENTINEL_GROUP

三、在nacos的配置文件中调整对应服务的配置文件中补充:

复制代码
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
spring.cloud.nacos.discovery.username=test
spring.cloud.nacos.discovery.password=123123
spring.cloud.nacos.discovery.namespace=7104456b-d77d-43a0-a8db-d8daf6a85cbe
spring.cloud.nacos.discovery.group=SENTINEL_GROUP

四、重启微服务,启动成功。

常见问题

NacosPropertySourceBuilder : get data from Nacos error

NacosException:There was an unexpected error (type=Forbidden, status=403). unknown user!

1.经检查发现是配置鉴权账户时,用的是name,没有使用username,导致覆盖了

复制代码
spring.application.name的dataId配置,并且也没有指定鉴权账户。

2.命名空间和分组都要指定,不然也会报该错

相关推荐
Ai拆代码的曹操1 分钟前
opencode CLI 源码拆解:yargs + effectCmd 双层架构如何管理 20+ 子命令
架构·ai编程·opencode·源码拆解
熊猫钓鱼>_>2 分钟前
ArkUI 动画实战:从理论到交互,构建流畅的鸿蒙动效体验
华为·架构·交互·harmonyos·arkts·arkui·native
学计算机的计算基13 分钟前
操作系统内存管理全解:虚拟内存、页表、COW、malloc、OOM一篇搞定
java·笔记·算法
tachibana218 分钟前
hot100 前 K 个高频元素(347)
java·数据结构·算法·leetcode
万亿少女的梦16836 分钟前
基于Spring Boot、Java与MySQL的网络订餐系统设计与实现
java·spring boot·mysql·系统设计·网络订餐
咩咩啃树皮9 小时前
第40篇:Vue3组件化开发精讲——组件拆分、复用、父子通信、工程化架构
java·前端·架构
鱟鲥鳚10 小时前
Spring Boot 集成 LangChain4j:从模型调用到 Tool Calling(Demo版)
java·spring boot
大模型码小白11 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
CS创新实验室11 小时前
量子计算机的操作系统:原理、实践与经典架构之对比
架构·操作系统·量子计算
腾渊信息科技公司12 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求