服務器上分別配置了eth0, eth1兩塊網卡,只有eth1的地址可供其它機器訪問,eth0IP 無效。在這種情況下,服務注冊時Eureka Client會自動選擇eth0作為服務ip, 導致其它服務無法調用。
最終的解決方案:
--注意:僅列出解決問題的配置項
yml格式
spring: cloud: inetutils: ignored-interfaces: eth0 # 讓應用忽略eth0網卡 eureka: instance: hostname: # 主機ip地址 prefer-ip-address: true # 注冊時使用用ip而不是主機名稱
properites格式:
spring.cloud.inetutils.ignored-interfaces[0]=eth0 # 忽略eth0網卡, 支持正則表達式 # 指定此實例的ip eureka.instance.ip-address= # 注冊時使用ip而不是主機名 eureka.instance.prefer-ip-address=true