场景
新启了一个项目,在centos7.9下部署新开发环境,这里记录下部署nacos的过程;
非docker单机部署流程
下载最新版nacos
目前最新版是2.4.3, 下载地址
配置mysql数据库
- 初始化数据库
执行初始化数据库脚本 /conf/mysql-schema.sql
- 修改nacos配置文件
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://自己的ip:port/自己的数据库名?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=
db.password=
开启鉴权
- 修改配置
nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=true
- 自定义秘钥
### The default token (Base64 String):
nacos.core.auth.plugin.nacos.token.secret.key=替换成32位长度的秘钥(确保使用Base64编码的密钥,且原始密钥长度至少为32个字符)
- 配置服务间调用的鉴权key,value,这里借用官方文档的说法
### 关闭使用user-agent判断服务端请求并放行鉴权的功能
nacos.core.auth.enable.userAgentAuthWhite=false
### 配置自定义身份识别的key(不可为空)和value(不可为空)
nacos.core.auth.server.identity.key=example
nacos.core.auth.server.identity.value=example
单机启动
sh startup.sh -m standalone
账号设置
- 默认账号密码
nacos nacos
- 修改密码
- 新建用户
- 新建角色
- 配置权限
配置文件解释
- 自定义密钥
安全性基础:此密钥作为加密算法的基石,确保生成的Token难以被破解,保护了用户凭证和通信内容的安全。
动态Token生成:客户端首次通过用户名和密码认证成功后,服务端会使用此密钥生成一个一次性或有时效性的Token。客户端后续请求需携带此Token,服务端验证Token有效即可授权访问,无需每次都提供用户名和密码。
防篡改与伪造:每个Token都与特定的密钥相关联,任何试图篡改Token或使用非法Token的尝试都将因无法通过服务端的密钥验证而失败。
### The default token (Base64 String):
nacos.core.auth.plugin.nacos.token.secret.key=U0FUTWFCYXJIaGlXVUJCRDM2UlBVYW10bmRCenB0QTI=