我是靠谱客的博主 碧蓝日记本,最近开发中收集的这篇文章主要介绍解决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端口。
解决方案:
- 先禁用 虚拟机的网卡
打开“网络和Internet设置”–更改适配器选项,点击右键禁用
- 修改每个nacos-serverconf 的cluster.conf,将多出来的配置删除掉。
- 删除每个nacos-server下的data文件夹
- 重启nacos集群和微服务,访问localhost:9527,即可发现服务已注册进nacos集群
最后
以上就是碧蓝日记本为你收集整理的解决Nacos集群搭建,Nginx负载均衡后服务注册失败项目场景:问题描述原因分析:解决方案:的全部内容,希望文章能够帮你解决解决Nacos集群搭建,Nginx负载均衡后服务注册失败项目场景:问题描述原因分析:解决方案:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复