相信有一部分小伙伴在用springboot+nacos开发微服务时,会遇到nacos I/O error on GET request for "xxxxxxxx": Connecet refused的相关问题。
关键词:Connecet refused
网络上很多种可能性均存在,我的情况网上方案均无效,这种情况小伙伴要额外注意:
连接拒绝!!!!理论上应该不是代码问题了。
项目情况:
我的nacos安装在公司局域网服务器上,server-addr:192.168.2.252:8848
我的服务提供着和消费者项目分别都运行在我电脑的两个项目中,我本地ip:192.168.2.207
服务提供者配置:
spring:
application:
name: provider
cloud:
nacos:
discovery:
namespace: 6775f33c-c984-4f88-8518-f2d408e35dd1
heart-beat-interval: 5
ip: 192.168.2.252
server-addr: 192.168.2.252:8848
username: nacos
password: nacos
消费者配置
spring:
application:
name: consumer
cloud:
nacos:
discovery:
namespace: 6775f33c-c984-4f88-8518-f2d408e35dd1
heart-beat-interval: 5
ip: 192.168.2.252
server-addr: 192.168.2.252:8848
username: nacos
password: nacos
启动两个项目均无报错,服务列表也有两个服务
问题总结:
这里因为nacos和我的开发环境ip不是同一个,那理论上消费者调用注册中心服务,注册中心调用我的服务提供者需要.252服务器能够连接我的.207的本机,可能就是服务中心连接不了我本机造成了连接失败!
解决办法:
开发环境本机安装一个nacos,windows使用单机模式**“startup.cmd -m standalone”**启动,然后把项目配置修改为本机的IP地址或者127.0.0.1,记得还有namespace参数也要改!!!!
服务提供者配置:
spring:
application:
name: provider
cloud:
nacos:
discovery:
namespace: c0a50d17-af0e-4b5b-81d1-f68aff51424b
heart-beat-interval: 5
ip: 192.168.2.207
server-addr: 192.168.2.207:8848
username: nacos
password: nacos
消费者配置
spring:
application:
name: consumer
cloud:
nacos:
discovery:
namespace: c0a50d17-af0e-4b5b-81d1-f68aff51424b
heart-beat-interval: 5
ip: 192.168.2.207
server-addr: 192.168.2.207:8848
username: nacos
password: nacos