注意在2.2.0版本之后如果不开启鉴权,那么默认不需要登录就可以访问
所以我们需要手动开启鉴权,nacos启动好以后来到容器内部修改
docker exec -it nacos /bin/shvim conf/application.properties在第34行下面添加
nacos.core.auth.enabled=true
nacos.core.auth.enable.userAgentAuthWhite=false然后修改下面这三行nacos.core.auth.plugin.nacos.token.secret.key=${NACOS_AUTH_TOKEN:SecretKey13213464979879798431316877979798464654987979846516565987987}SecretKey13213464979879798431316877979798464654987979846516565987987的内容可以自定义nacos.core.auth.server.identity.key=${NACOS_AUTH_IDENTITY_KEY:example}
nacos.core.auth.server.identity.value=${NACOS_AUTH_IDENTITY_VALUE:example}
docker restart nacos
修改完后退出容器,然后重启nacos重新访问就可以正常登录了,第一次访问会有一个没有命名空间权限的报错这个点击确定不用管直接登录。
http://192.168.81.130:8848/nacos
或者在访问时http://192.168.81.130:8848/nacos/#/login 这样就不会弹窗了
阿里云给出的问题回复是:Nacos 2.2.3 开启鉴权后首次登录报“权限认证失败,没有命名空间的访问权限”,但第二次登录就恢复正常的原因可能是因为首次登录时用户的权限尚未完全生效或同步到服务端。
在Nacos开启鉴权后,系统会要求每个用户拥有对应的权限才能访问特定的命名空间。当用户第一次登录时,特别是刚创建或刚刚赋予权限的用户,可能会存在一定的延迟。
默认用户nacos 默认密码 nacos
到这里nacos鉴权就开启成功了。