nacos升级开启鉴权后,微服务无法连接的解决方案
nacos
Nacos是由阿里巴巴开源的服务治理中间件,集成了动态服务发现、配置管理和服务元数据管理功能,广泛应用于微服务架构中,简化服务治理过程。
项目地址:https://gitcode.com/gh_mirrors/na/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.命名空间和分组都要指定,不然也会报该错
3.密码尽量不要使用特殊字符,目前已知密码中包含$也会提示该错误
GitHub 加速计划 / na / nacos
29.83 K
12.75 K
下载
Nacos是由阿里巴巴开源的服务治理中间件,集成了动态服务发现、配置管理和服务元数据管理功能,广泛应用于微服务架构中,简化服务治理过程。
最近提交(Master分支:3 个月前 )
4334cd16
* Support custom client configuration timeout.(#12748)
* Add UT.(#12748) 18 天前
b04d2266
22 天前
更多推荐
已为社区贡献2条内容
所有评论(0)