原因:
由于本机装有虚拟机,有虚拟机网卡,会导致注册到Nacos时,IP有问题,进而导致推送服务实例的时候报错,因为是虚拟网卡,不能连接外网那种。
我看到的有两种ip,一个是服务注册ip,一个是clientIp,服务注册ip可以通过设置
spring.cloud.inetutils.preferred-networks的值或者其他的方式来设置,网上很多。
而我要说的是订阅者的IP
解决方式:
我是通过设置系统变量,-Dcom.alibaba.nacos.client.local.ip=10.1.32.52,来指定这个clientIp的
分析:
Nacos在服务启动的会去注册服务,这个clientIp是通过com.alibaba.nacos.api.utils.NetUtils来查找的
看一下Nacos注册中心的日志plugin-control-connection.log
可以看到是有两个ip的,clientIp和remoteIp
目前只知道这个clinetIp可以通过设置系统变量来配置,有其他的方式,如写在application.yml啥的方式,踢我一下