Spring Cloud启动应用时指定IP或忽略某张网卡配置

说明:分布式应用部署到服务上,由于服务器可能存在多张网卡,造成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

https://www.cnblogs.com/EasonJim/p/8434644.html

Leave a Comment

电子邮件地址不会被公开。 必填项已用*标注