问题描述
最近在学习Eureka的多网卡环境下IP选择的时候,发现手动指定IP一直无效,相关配置如下:
eureka:
instance:
prefer-ip-address: true
ip-address: 192.168.232.34
status-page-url: http://${spring.cloud.client.ipAddress}:${server.port}/health
instance-id: ${spring.cloud.client.ipAddress}:${server.port}
书上说这个配置可以手动指定注册到Eureka Server的微服务IP。可是我观察到Eureka状态页的IP地址是:
而我配置的ip地址是192.168.232.34
,所以觉得很困惑,难道指定注册到Eureka上的IP地址失败了?
解决方法
我在网上搜索了很多的答案,最后发现可以通过端点GET/eureka/apps
查看注册到Eureka上的应用信息来观察注册上去的IP地址:
看到这里总算理解了,其实Eureka状态页面上的IP指的是你注册机本地的IP,也就是配置中的${spring.cloud.client.ipAddress}
,而实际上注册到Eureka上的IP地址则是配置中指定的IP地址eureka.instance.ipAddress: 192.168.232.34
。