nacos2.3 密码验证的处理过程
起因
自己在捯饬一套环境.
Redis和nginx基本上都是使用的最新版
nacos也是使用的最新容器模式.
想着服务注册发现的nacos也用最新版.
然后发现最新版nacos改了一些地方, 这里特意记录一下.
关于nacos的简介
“Nacos” 是一个阿里巴巴旗下的一个开源的、易于使用的
动态服务发现、配置和服务管理平台。
它的名字代表着"Naming and Configuration Service"
(命名和配置服务)。Nacos 能够帮助开发人员实现
微服务架构中的服务注册、发现、配置管理等功能。
主要功能包括:
1. 服务发现与注册(Service Discovery and Registration):
Nacos 可以帮助服务在微服务架构中进行注册和发现,让服务能够找到彼此,实现服务间的通信。
2. 动态配置管理(Dynamic Configuration):
通过 Nacos,可以集中管理配置信息,随时动态修改配置并实时生效,而不需要重启应用。
3. 服务健康监测(Health Checks):
Nacos 提供对服务的健康检查功能,可以根据服务状态进行相应的处理。
4. 动态 DNS 服务(Dynamic DNS Service):
Nacos 可以作为动态 DNS 服务,实现动态路由的功能。
nacos的认证
nacos其实默认没有认证
他主要是暴露8848 以及 8848+1000和8848+1001 的三个端口号.
默认网络联通就可以使用.
所以这个服务是严格禁止不经过保护就暴露给外网的.
2.3之前的版本有一个默认的账户 nacos/nacos
并且登录之后可以 点击右上角的 nacos进行修改.
这样就导致大家认为 访问nacos服务也是有这样一个非常简单的用户登录访问策略了.
但是实际上不是这样的. nacos2.3之前版本的 GUI界面的登录和后端服务的注册是两套.
后端登录是不需要任何权限的.
为了避免产生歧义.
2.3 开始 进行了挖坑处理.
nacos2.3版本的修改
nacos 2.3 使用 standalone 方式启动后
默认就可以登录,没有输入密码的地方, 并且也没有修改密码的地方.
要想增加密码 必须修改如下:
vim ../conf/application.properties
主要的配置项目其实就三处:
nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=true
nacos.core.auth.plugin.nacos.token.secret.key=$(base64 原文超过32字节)
需要注意 可以使用 echo something32byteslength |base64 创建base64的编码
修改密码
增加了 nacos.core.auth.enabled
再次打开 nacos的界面 会发现要求登录.
登录的默认用户密码是 nacos/nacos
登录后理理解修改密码.
springboot链接
2.3之前的版本 nacos客户端连接 nacos 是不需要认证的
但是2.3之后. 必须修改配置文件才可以:
修改方位就是:
nacos:
discovery:
server-addr: 127.0.0.1:18848
username: nacos
password: ThePasswordUchanged
就可以使用 springboot登录了
如果不设置用户 会提示 用户不存在
如果密码不正确, 会登录失败.