問題描述
最近在學習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
。