eureka设置黑名单

核心类三个

1 UtilAutoConfiguration

2 InetUtils

3 InetUtilsProperties

/** for testing */ boolean ignoreInterface(String interfaceName) {
        for (String regex : this.properties.getIgnoredInterfaces()) {
            if (interfaceName.matches(regex)) {
                log.trace("Ignoring interface: " + interfaceName);
                return true;
            }
        }
        return false;
    }

interfaceName = Intel(R) PRO/1000 MT Network Connection

boolean ignoreAddress(InetAddress address) {

//如果设置使用本地地址注册,且address是本地地址的话,就直接返回,通过。

        if (this.properties.isUseOnlySiteLocalInterfaces() && !address.isSiteLocalAddress()) {
            log.trace("Ignoring address: " + address.getHostAddress());
            return true;
        }
       //更喜欢的网络地址,就是白名单
        for (String regex : this.properties.getPreferredNetworks()) {
        if (!address.getHostAddress().matches(regex) && !address.getHostAddress().startsWith(regex)) {

            //address.getHostAddress()=192.168.29.28 regex=配置的192.168.29.45
            log.trace("Ignoring address: " + address.getHostAddress());
                return true;
            }
        }
        return false;
    }


版权声明:本文为zzuchenyb原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。