先说一下我的服务端版本 2.3.2
nacos2.0版本增加了鉴权配置,如果你下载nacos2.0版本,服务端部署以后,是不需要登录的,直接就是操作界面。官方是这样说的
(2.2.2版本之前的Nacos默认控制台,无论服务端是否开启鉴权,都会存在一个登录页;这导致很多用户被误导认为Nacos默认是存在鉴权的。在社区安全工程师的建议下,Nacos自2.2.2版本开始,在未开启鉴权时,默认控制台将不需要登录即可访问,同时在控制台中给予提示,提醒用户当前集群未开启鉴权。在用户开启鉴权后,控制台才需要进行登录访问。)
需要更改nacos的config文件下的配置文件,然后重新启动nacos服务端
nacos.core.auth.enabled=true
nacos.core.auth.caching.enabled=true
nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.server.identity.key=nacos
nacos.core.auth.server.identity.value=nacos123
nacos.core.auth.plugin.nacos.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=
这里是重点了,配置文件配置的 key和value那块,并不是登录nacos控制台的密码。nacos控制的用户密码还是nacos nacos。(这里我踩坑了)
这里配置的key和value 是进行nacos服务端的API 鉴权用的。
之前我们访问nacos服务端的API,直接接口调用就能拿到想要的信息,现在不是,有鉴权的操作。
开启鉴权后,访问API的权限有2种(不方便截图,大家可以看看官网)
1.使用 配置文件中的白名单 nacos.core.auth.server.identity.key 和 nacos.core.auth.server.identity.value
2.使用accessToken,获取accessToken 的方法
再说明一点:也比较重要,我们肯定是需要使用nacos的配置中心和注册中心的。
使用2.0版本,SpringCloud和Springboot集成nacos客户端的时候,是需要用用户名和密码连接的,要不会报403 没有权限。用户名和密码是 nacos控制台的登录用户和密码,这个也一定要注意。
spring:
cloud:
nacos:
discovery:
enabled: true
server-addr: 127.0.0.1:8848
namespace: c3bc4329-2c06-42cf-8b76-00c77205280
username: nacos
password: nacos