目录

 问题来源

 解决办法-修改配置

 解决依据 


  •  问题来源

问题出现:(2023)在用服务器上的docker安装最新版本的nacos(2.2.2)后,启动之后,本地连接之后发现没有登陆过程,直接进入主页面,而且功能被限制,比如导入配置时,使用f12查看控制台会发现有报错。

具体从哪个版本开始没有默认鉴权我没深究,应该是2.2.0.1之后。

 

本人新手,因为对docker以及nacos都不是很熟悉,所以走了很多弯路,所以记录一下解决过程,仅供其他新手参考。

1.安装过程

docker pull nacos/nacos-server

2.挂载日志和配置文件

        在本地创建日志和配置的目录即可。        

mkdir -p /mydata/nacos/logs/                      
mkdir -p /mydata/nacos/init.d/  

        这个不是这次的重点,可以去其他文章学习。

3.创建容器

docker run -d -p 8848:8848 --env MODE=standalone --env PREFER_HOST_MODE=hostname  -v /mydata/nacos/init.d:/home/nacos/init.d -v /mydata/nacos/logs:/home/nacos/logs --name nacos nacos/nacos-server

 4.启动

docker start nacos

此时访问就可以访问http://ip:8848/nacos  (ip为你服务器所在ip,或者本地localhost)

注意,最前面不是https

之后会发现直接进入nacos主页,跳过了登陆步骤,并且页面上方提示“当前集群没有开启鉴权,请参考文档开启鉴权~”,如图:

 此时某些操作之后,控制台会报错

 

先看解决办法,时间紧张的同学解决完可以直接溜。

  •  解决办法-修改配置

1.通过docker进入nacos容器

docker exec -it nacos /bin/bash

        (上面代码中的 nacos  是我的容器名字,如果不同,更换成自己的即可。) 

2.进入配置文件夹

cd conf/

3.修改配置文件

vim application.properties

 新增两行,修改三行 ,效果如图:

代码:

##新增两行
nacos.core.auth.enabled=true
nacos.core.auth.enable.userAgentAuthWhite=false

##修改三行
nacos.core.auth.plugin.nacos.token.secret.key=${NACOS_AUTH_TOKEN:SecretKey01234567890123456789012345345678999987654901234567890123456789}
nacos.core.auth.server.identity.key=${NACOS_AUTH_IDENTITY_KEY:example}
nacos.core.auth.server.identity.value=${NACOS_AUTH_IDENTITY_VALUE:example}

其中

SecretKey01234567890123456789012345345678999987654901234567890123456789

可以随意修改,长度保持差不多或者长一点就可以。

ps:如果太短,你就有理由看日志为什么报错了。也是锻炼的机会哦🐶。

 4.然后保存退出之后,退出容器

exit

5.重启nacos

docker stop nacos
docker start nacos

再次访问http://ip:8848/nacos

 bingo。

想要知道为什么的同学,可以继续往下看一点。

  • 解决依据 

 点击图片中“文档”可以跳转到nacos的官方文档中心

AuthorizationAuthorizationhttps://nacos.io/zh-cn/docs/v2/guide/user/auth.html文档中非常清楚的表明,开启鉴权的方法

         但是,当你直接使用这个官方命令运行之后会发现,容器竟然直接启动失败,不要怀疑自己是不是哪里操作错误,文档的问题(有点无语🙃),不过还好报错信息还是清楚的,需要另外增加配置。

好奇的同学,可以使用下面命令查看启动失败的原因。解决办法对应的是上面配置文件中做的那三行修改。

docker logs nacos

ps:测试过程中出现问题无法进行时可以删除容器,重新run

其中修改最长的那一行SecretKey来源于文档最上面的参数表格,如图

注意括号里的:2.2.0.1后无默认值 

因此需要修改配置文件,手动增加一个默认值。

这个文档拉到最下面会看到这样一段,这是另外的几个配置的来源

 

 有用的话点个赞吧~🤗

 转载请注明来源~

GitHub 加速计划 / na / nacos
146
24
下载
Nacos是由阿里巴巴开源的服务治理中间件,集成了动态服务发现、配置管理和服务元数据管理功能,广泛应用于微服务架构中,简化服务治理过程。
最近提交(Master分支:5 个月前 )
4ac42a53 I don't think this default value should be true 4 天前
b4d9642c 7 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐