因为业务需要本人需要升级项目中使用的微服务技术栈版本,在将 nacos 从 2.0.3 升级到 2.3.2 遇到一些问题特此记录下来。
使用 docker 安装 nacos 2.2.以下三个环境变量需要自定义后续版本。
# 一般用于自定义功能时鉴权这个key可以用在请求头带上进行鉴权,看官方文档NACOS__AUTH_IDENTITY_KEY=xxxxx# 一般用于自定义功能时鉴权这个value可以用来识别请求头带上的#xff0c;看官方文档NACOS__AUTH_IDENTITY_VALUE=xxxxx# jwt生成时使用的密钥,至少32Bytes,使用base64加密NACOS_AUTH_TOKEN=xxxxx。
详情请参考:
Nacos 官方文档。
详情请参考:
Nacos Docker 官方文档。
问题二、docker 部署后无法访问控制台的问题。
按照上述步骤成功部署并且可以连接到nacos后,浏览器访问时,总会报告403:
type=Forbidden, status=403Invalidid server identity key or value, Please make sure set `nacos.core.auth.server.identity.key` and `nacos.core.auth.server.identity.value`, or open `nacos.core.auth.enable.userAgentAuthWhite`
后来经过调查发现以下环境变量存在问题。
-e NACOS_AUTH_IDENTITY_VALUE=pg.R#b2c4.ANvh!
-e NACOS_AUTH_IDENTITY_VALUE=pg.R#b2c4.ANvh!IA14Z。
直接去除特殊符号,然后重启。以下是我可以自己使用的一个 docker 脚本,当然,我后来用不同的密码重新部署了,所以这些信息没用,建议您在复制脚本后更改敏感信息:docker run -d \-e MODE=standalone \-e JVM_XMS=128m \-e JVM_XMX=128m \-e JVM_XMN=128m \-e SPRING_DATASOURCE_PLATFORM=mysql \-e MYSQL_SERVICE_HOST=xxxxxx \-e MYSQL_SERVICE_PORT=xxxx \-e MYSQL_SERVICE_USER=xxxxxx\-e MYSQL_SERVICE_PASSWORD=xxxxxxxx \-e MYSQL_SERVICE_DB_NAME=xxxxxxx \-e MYSQL_SERVICE_DB_PARAM='characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false' \-e NACOS_AUTH_ENABLE=true \-e NACOS_AUTH_IDENTITY_KEY=xxxxxxxx \-e NACOS_AUTH_IDENTITY_VALUE=pgrb2c4ANVHIA14 \-e NACOS_AUTH_TOKEN=NSTQDHM3WCU3RVYLMjrdg04auolMKM3JTJDQnyUCU1RXFMJIxuyOCUyM \-p 8848:8848 \-p 9848:9848 \--restart=always \--privileged=true \--name nacos nacos/nacos-server:v2.3.2。