nacos开启鉴权后发现各种连不上。
按道理说所有的东西都是采用同一个docker网络连接的,连接的时候可以采用容器名连接。
下面是刚开始springboot中的链接配置。增加了用户名和密码
这里nacos我们用到了注册中心和配置中心。启动项目的时候配置中心没有问题,当涉及到鉴权的时候登录报错。用账户名和密码登录报错。
1 我的账户密码肯定是没有写错的
2 看请求是URL报错, [SecurityProxy] login http request failed url: http://nacos2/nacos/v1/auth/users/login
然后梳理了一下nacos源码,这里就是一个用户密码登录授权的一个过程。那么就是连接的问题了
这里就奇怪了,同样的连接配置。配置中心采用
server-addr=nacos2的容器名可以连接,注册中心server-addr=nacos2登录就失败
后来我把注册中心连接修改容器的ip地址:server-addr=172.19.0.6:8848 启动没有报错。可以连接并且授权成功。
3 但是考虑到docker内的容器ip地址可能会变化最好可以采用不变的方式
后来采用容器加端口就然好了:server-addr=nacos2:8848
估计是nacos内部登录的问题。目前采取这样的配置可以解决问题