项目使用了Nacos作为服务配置,注册发现中心,使用Gateway进行网关转发管理
因业务需要,现有服务部署在两台服务器上,一台内部网络(不能访问外网),一台互联网域机器
互联网域的服务部署需要访问外网的服务与前端服务,其他服务(网关,nacos,业务服务等均部署在内部网络的服务器上)
部署以后,nacos服务列表发现了服务,访问正常
但是!!!!!! 调用接口一直报错目标微服务访问超时?
研究了网上的解决方案,主要是因为网卡不同,nacos注册的服务可能网断不同,比如服务A,被发现的地址为10.XX.xx.xx ,服务B被发现的地址为192.xx.xx.xx
网段不同,肯定无法访问
解决方案
在配置项里添加一下配置preferred-networks,指定服务注册时发现的地址前缀
spring:
cloud:
inetutils:
ignored-interfaces: eth.*
preferred-networks: 192.172.1
网上的解决方案一般到此就结束了
然而!!还是微服务调用超时,超时超时。。。。。
要崩溃了,找了好久原因,后来突然想到,,,是不是防火墙规则没有设置!!!
果然不懂网络的程序员,没什么好果子吃!!!
果然,设置了入站规则,开放了端口以后!!!好了,好了,好了
特此记录,提醒朋友们,gateway只是注册了服务,只是转发,只是转发,需要相互调用的微服务的ip地址和端口号还是要设置的!!
一、找到防火墙,打开高级设置
二、新建入站规则
三选择设置端口
然后一路下一步就完了