最近在练习spring-cloud-zuul和spring-boot-admin的demo时,发现如果不同服务注册到不同服务器时,发现不同服务之间的访问时连接超时.

继续往下看

原因是zuul网关访问某个部署在不同服务器上的服务时,从eureka获取的服务所在地址ip是内网地址,那么问题主要集中在对象服务住的信息的上了,

eureka.client.service-url.defaultZone = eurka服务所在服务器地址
eureka.instance.instance-id: ${spring.cloud.client.ip-address}:${server.port} # 应用名称:ip:端口

spring.cloud.client.ip-address 是spring-cloud-commons 中的配置信息.主要用于获取启动环境的ip地址

所以要解决这个问题,首先要是hostInfo.ipAddress为外网ip

在yml文件中配置

eureka.instance.ip-address: 服务所在服务器的外网地址

但这样就会出现一个问题,如果是同一个服务部署在不同服务器上,需要多个配置问题么?

暂时没有解决,如果谁有什么解决方案,麻烦留言告知.

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐