解决Nacos集群搭建,Nginx负载均衡后服务注册失败

项目场景:

搭建Nacos集群后,使用Nginx实现对Nacos集群的负载均衡后,springboot服务通过Nginx方向代理注册进Nacos集群。


问题描述

启动多个nacos集群,通过Nginx反向代理,访问Nginx提供的端口可正常访问nacos首页。
在这里插入图片描述
在这里插入图片描述
但使用springboot启动服务通过nginx提供端口进行服务注册,会发现报错,以下是错误信息。而单机启动nacos ,这可以注册的上去,由此可以判定是集群模式下会出现此问题。
在这里插入图片描述

2022-11-27 16:05:03.925 ERROR 14532 --- [  restartedMain] c.a.c.n.registry.NacosServiceRegistry    : nacos registry, nacos-payment-provider register failed...NacosRegistration{nacosDiscoveryProperties=NacosDiscoveryProperties{serverAddr='localhost:9527', endpoint='', namespace='', watchDelay=30000, logName='', service='nacos-payment-provider', weight=1.0, clusterName='DEFAULT', namingLoadCacheAtStart='false', metadata={preserved.register.source=SPRING_CLOUD}, registerEnabled=true, ip='192.168.155.1', networkInterface='', port=9001, secure=false, accessKey='', secretKey=''}},

java.lang.IllegalStateException: failed to req API:/nacos/v1/ns/instance after all servers([localhost:9527]) tried: failed to req API:localhost:9527/nacos/v1/ns/instance. code:400 msg: <html><body><h1>Whitelabel Error Page</h1><p>This application has no explicit mapping for /error, so you are seeing this as a fallback.</p><div id='created'>Sun Nov 27 16:05:03 CST 2022</div><div>There was an unexpected error (type=Bad Request, status=400).</div><div>receive invalid redirect request from peer 192.168.155.1</div></body></html>
	at com.alibaba.nacos.client.naming.net.NamingProxy.reqAPI(NamingProxy.java:464) ~[nacos-client-1.1.1.jar:na]
	at com.alibaba.nacos.client.naming.net.NamingProxy.reqAPI(NamingProxy.java:386) ~[nacos-client-1.1.1.jar:na]
	at com.alibaba.nacos.client.naming.net.NamingProxy.registerService(NamingProxy.java:188) ~[nacos-client-1.1.1.jar:na]
	...........................

原因分析:

应该是nacos 注册时,需要找网卡的 ip地址,但是有多个. 而注册时轮询找的第一个网卡的ip地址.
我们查看nacos的集群配置文件cluster.conf也得到了验证,发现会多出来一条不属于自己配置的ip端口。
在这里插入图片描述


解决方案:

  1. 先禁用 虚拟机的网卡
    打开“网络和Internet设置”–更改适配器选项,点击右键禁用
    在这里插入图片描述
  2. 修改每个nacos-server\conf 的cluster.conf,将多出来的配置删除掉。
  3. 删除每个nacos-server下的data文件夹
    在这里插入图片描述
  4. 重启nacos集群和微服务,访问localhost:9527,即可发现服务已注册进nacos集群
    在这里插入图片描述
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值