文章背景:
spring boot项目需要通过feign调用另一个spring boot项目的接口,前提是都注册到eureka,并且在gateway中可以看到被调用服务,swagger中可以被调用接口。但是就是无法调通,一直提示连接超时。
异常原因:
生产环境因为安全原因,开启了防火墙,所有的服务调用都需要通过设置入站规则才能正常访问。spring boot都未设置端口,端口都是自动配置。而被调用的服务因为自动设置的端口未设置入站规则,所以日志一直提示连接超时。
解决方案:
如果服务器启用了防火墙,进入eureka后,点击需要调用的服务连接,查看自动配置的端口。再将该端口设置入站规则中即可。