您好,登錄后才能下訂單哦!
在linux主機部署Eureka高可用方案的時候,發現注冊到服務中心的服務IP是隨機的,由于主機的網卡是多個,隨機的IP并不是自己想要的,上網查了一些資料,總結如下:
1 忽略網卡:spring.cloud.inetutils.ignored-interfaces
#忽略eth0, 支持正則表達式 spring.cloud.inetutils.ignored-interfaces[0]=eth0
2 指定IP:spring.cloud.inetutils.preferred-networks
#preferred-networks是指傾向于使用的IP地址,接收一個正則表達式數組,用于選擇Spring Cloud應用使用的本機的IP地址。 spring.cloud.inetutils.preferredNetworks[0]=^192\.168
3 修改Host文件
當網查遍歷邏輯都沒有找到合適ip時會走JDK的InetAddress.getLocalHost()。該方法會返回當前主機的hostname, 然后會根據hostname解析出對應的ip。因此第二種方案就是配置本機的hostname和/etc/hosts文件,直接將本機的主機名映射到有效IP地址。
4 指定實例IP
#指定此實例的ip eureka.instance.ip-address= #注冊時使用ip而不是主機名 eureka.instance.prefer-ip-address=true
5 通過jar命令參數
java -jar xxx.jar --spring.cloud.inetutils.preferred-networks= #需要設置的IP地址 或者 java -jar xxx.jar --spring.cloud.inetutils.ignored-interfaces= #需要過濾掉的網卡
以上新手折騰了一下午,大家有好方法一起交流一下,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。