注意
- Nacos是一个内部微服务组件,需要在可信的内部网络中运行,不可暴露在公网环境,防止带来安全风险。
- Nacos提供简单的鉴权实现,为防止业务错用的弱鉴权体系,不是防止恶意攻击的强鉴权体系。
- 如果运行在不可信的网络环境或者有强鉴权诉求,请参考官方简单实现做进行自定义插件开发。
1.单机模式 Derby
- Docker 拉取镜像
docker pull nacos/nacos-server
- 启动nacos
# 不开启鉴权
docker run -d \
--name nacos \
-p 8848:8848 -p 9848:9848 \
-e MODE=standalone \
nacos/nacos-server
2.单机模式mysql+宿主机配置文件映射启动
- Docker 拉取镜像
docker pull nacos/nacos-server
mysql中创建nacos所需的表
- mysql中新建一个库,名字可自定义,这里就用
nacos
- 从github中找到创建表的文件,在nacos-config库中执行,创建所需的表
- mysql中新建一个库,名字可自定义,这里就用
- 创建配置文件的保存目录
mkdir -p /data/nacos/logs/ #新建logs目录
mkdir -p /data/nacos/conf/ #新建conf目录
- 将nacos里面的文件拷贝出到挂载目录中
# 启动容器
docker run -p 8848:8848 --name nacos -d nacos/nacos-server
# 复制文件
docker cp nacos:/home/nacos/logs/ /data/nacos/
docker cp nacos:/home/nacos/conf/ /data/nacos/
# 删除并关闭容器
docker rm -f nacos
- 再次启动nacos
docker run -d \
--name nacos \
-p 8848:8848 -p 9848:9848 -p 9849:9849 \
--privileged=true \
-e MODE=standalone \
-v /data/nacos/logs/:/home/nacos/logs/ \
-v /data/nacos/conf/:/home/nacos/conf/ \
nacos/nacos-server
- 修改配置文件-application.properties
# 在宿主机中修改application.properties文件
vim /data/nacos/conf/application.properties
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.124.10:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=30000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=nacos
db.password=nacos
3.开启登录验证
- 修改配置文件-application.properties
# 在宿主机中修改application.properties文件
vim /data/nacos/conf/application.properties
# 开启登录验证
nacos.core.auth.enabled=true
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security
# 自定义指定生成JWT的密钥,使用BASE64进行编码,编码前的key长度必须不小于32个字符
nacos.core.auth.plugin.nacos.token.secret.key=NzRmNzRiMGE3OTk5M2ZmOGQyOThhYzgwYWEyZjk4M2MxZTBlMjIyN2YyNGIwOWQzNGQwNGNiYjNiODRlYzQ4ZQ==
nacos.core.auth.plugin.nacos.token.secret.key生成步骤:
1、使用
openssl rand -hex 32
获取密钥值[root@centeros7 docker-test]# openssl rand -hex 32 74f74b0a79993ff8d298ac80aa2f983c1e0e2227f24b09d34d04cbb3b84ec48e
2、将密钥值再进行base编码
访问:https://base64.us/,输入密钥进行base64编码NzRmNzRiMGE3OTk5M2ZmOGQyOThhYzgwYWEyZjk4M2MxZTBlMjIyN2YyNGIwOWQzNGQwNGNiYjNiODRlYzQ4ZQ==
评论 (0)