1. 程式人生 > >Spring Cloud啟動應用時指定IP或忽略某張網卡配置

Spring Cloud啟動應用時指定IP或忽略某張網卡配置

cond 網絡配置 生態 onf docs col mas utils efault

說明:分布式應用部署到服務上,由於服務器可能存在多張網卡,造成IP地址不準的問題。

解決方法:

1、直接添加忽略某張網卡的配置:

spring.cloud.inetutils.ignored-interfaces[0]=eth0 # 忽略eth0, 支持正則表達式

正則:

spring.cloud.inetutils.ignored-interfaces=eth.*

2、指定默認IP:

spring.cloud.inetutils.preferred-networks=192.168.20.123 #可以是IP段:192.168.20

3、除了這些配置,還有以下的這些配置:

spring.cloud.inetutils.default-hostname
spring.cloud.inetutils.default-ip-address
spring.cloud.inetutils.ignored-interfaces
spring.cloud.inetutils.preferred-networks
spring.cloud.inetutils.timeout-seconds
spring.cloud.inetutils.use-only-site-local-interfaces

ignored-interfaces和preferred-networks這兩個配置。這兩個配置決定了spring cloud應用在啟動的時候所使用的網卡和IP地址。ignored-interfaces接收一個正則表達式數組,配置名字雖然是ignored-interfaces,忽略的網卡,但是因為其接收的是正則表達式,所以我們可以任意的選擇和反選本機的網卡。preferred-networks是指傾向於使用的IP地址,接收一個正則表達式數組,用於選擇Spring Cloud應用使用的本機的IP地址。通過這兩個配置,我們可以任意指定Spring Cloud應用使用的網卡和IP地址。

更多解釋參考官方說明,spring-cloud-commons項目為Spring Cloud生態提供了頂層的抽象和基礎設施的實現。 網絡這個最基本的基礎設施也是在這裏有對應的實現:InetUtils、InetUtilsProperties和UtilAutoConfiguration提供了網絡配置相關的功能。

參考:

http://blog.csdn.net/neosmith/article/details/53126924

https://www.jianshu.com/p/90ec946293ee

http://blog.csdn.net/xichenguan/article/details/76557065

http://blog.csdn.net/tony308001970/article/details/75061217

https://github.com/spring-cloud/spring-cloud-commons/blob/master/docs/src/main/asciidoc/spring-cloud-commons.adoc

Spring Cloud啟動應用時指定IP或忽略某張網卡配置