Nacos2.2.3开源版单机模式配置认证

背景

在开发和测试环境使用了Nacos 2.2.3开源版,部署方式为非Docker环境的单机模式。
出于安全性考虑,需要配置Nacos服务端开启访问认证,开启访问认证后访问Nacos控制台,以及客户端访问Nacos注册中心和配置中心都需要配置相应的认证信息。

认证配置

由于是在非Docker环境部署的Nacos实例,所以直接修改Nacos配置文件即可,无需重启。
Nacos配置文件为:/conf/application.properties
具体的配置参数如下:

1
2
3
4
5
6
7
8
9
# 认证系统使用默认值:nacos
nacos.core.auth.system.type=nacos
# 开启认证
nacos.core.auth.enabled=true
# 配置自定义身份识别的key和value(不可为空)
nacos.core.auth.server.identity.key=xxxxxxxxxx
nacos.core.auth.server.identity.value=yyyyyyyyyy
# 自定义JWT令牌的密钥,确保长度超过32字符,并使用Base64编码
nacos.core.auth.plugin.nacos.token.secret.key=QCxPTjIjNERfVk9fNlNaJHF6OVhOUTEwSmVNJEU3bVM=

保存配置后,再次访问Nacos控制台提示需要鉴权,输入默认用户名和密码:nacos/nacos
显然,使用nacos默认的用户名和密码并不安全,所以在使用默认用户名和密码登录控制台之后,需要点击右上角的用户名,然后修改一个自定义的密码,退出后再次登录时就需要使用自定义的新密码才能访问控制台。

客户端认证

Nacos服务端开启认证后,对应的注册中心和配置中心客户端连接时,也需要配置认证参数。
在Spring Boot框架应用中,注册中心和配置中心客户端的认证配置如下示例。

1
2
3
4
5
6
7
8
9
10
11
spring:
cloud:
nacos:
discovery: # 注册中心
server-addr: 192.168.100.10:8848
username: nacos # 注册中心客户端认证配置
password: xxxxxx # 注册中心客户端认证配置
config: # 配置中心
server-addr: 192.168.100.10:8848
username: nacos # 配置中心客户端认证配置
password: xxxxxx # 配置中心客户端认证配置