Nacos--docker部署

拷贝配置文件

mkdir -p /work/nacos/{bin,data,conf,logs}

docker run --name nacos-quick -e MODE=standalone  -e NACOS_AUTH_IDENTITY_KEY=AUTH -e NACOS_AUTH_IDENTITY_VALUE=HntPjsaoYyk  -e NACOS_AUTH_TOKEN=djOtBF82O4Ef41Hg5TmTq9MrNnz57r22rKCdpCE4c5GL7TzWFQH1roXE31GGueh5  -p 8849:8848 -d nacos/nacos-server:v2.2.1

docker cp  200d316c917f:/home/nacos/conf/   /work/nacos/
docker rm -f nacos-quick

开启鉴权

修改 /work/nacos/conf/application.properties

nacos.core.auth.=true
nacos.core.auth.server.identity.key=AUTH
nacos.core.auth.server.identity.value=HntPjsaoYyk
nacos.core.auth.plugin.nacos.token.secret.key=djOtBF82O4Ef41Hg5TmTq9MrNnz57r22rKCdpCE4c5GL7TzWFQH1roXE31GGueh5

背景

1.4.0 之前是通过User-Agent中是否包含Nacos-Server来进行判断请求是否来自其他服务端

enabled:开启服务身份识别功能
identity.key、value:开启鉴权功能后,服务端之间的请求也会通过鉴权系统的影响。考虑到服务端之间的通信应该是可信的,因此在1.2~1.4.0版本期间,通过User-Agent中是否包含Nacos-Server来进行判断请求是否来自其他服务端。但这种实现由于过于简单且固定,导致可能存在安全问题。因此从1.4.1版本开始,Nacos添加服务身份识别功能,用户可以自行配置服务端的Identity,不再使用User-Agent作为服务端请求的判断标准。
token.secret.key: 自定义用于生成JWT令牌的密钥,密钥长度不得低于32字符

2.2.1开始去掉key,value,token.secret.key的默认值,启动是需要自己加上

测试

curl -X GET \
  'http://172.30.2.21:8848/nacos/v1/cs/configs?dataId=test&group=DEFAULT_GROUP' \
  -H 'AUTH: HntPjsaoYyk'

返回结果

test:
    test

启动脚本

docker run -d --network=host --restart=always \
        -v /work/nacos/logs:/home/nacos/logs \
        -v /work/nacos/data:/home/nacos/data \
        -v /work/nacos/conf/nacos-logback.xml:/home/nacos/conf/nacos-logback.xml \
        -v /work/nacos/conf/application.properties:/home/nacos/conf/application.properties \
        --log-opt max-size=10m \
        -v /etc/localtime:/etc/localtime:ro \
        -v /etc/timezone:/etc/timezone \
        -e PREFER_HOST_MODE=hostname \
        -e MODE=standalone \
        --name nacos-server nacos/nacos-server:v2.2.1
posted @ 2023-03-29 21:05  When?  阅读(154)  评论(0)    收藏  举报