Hi,
I notice that recently there are some issue about NetUtils.getLocalHost, 
someone complains about that logic changes bring by 
issue: https://github.com/apache/incubator-dubbo/issues/538 
<https://github.com/apache/incubator-dubbo/issues/538> 
pr: https://github.com/apache/incubator-dubbo/pull/3520 
<https://github.com/apache/incubator-dubbo/pull/3520>
The change places in 2.7.1 is NetUtils.getLocalHost add a new check method: 
> static boolean isValidPublicAddress(InetAddress address) {
>     return !address.isSiteLocalAddress() && !address.isLoopbackAddress();
> }
This will exclude local site address like:
10/8 prefix
172.16/12 prefix
192.168/16 prefix
so a internal  ip 172.161.3.4 will successfully register into registry before, 
but will register localhost(mostly 127.0.0.1) into registry if no public ip 
exists.

Action:
1. Add a param switch let user choose to prefer to register local site address 
or public address.
2. The  default priority to find useful address in multi network cards can be : 
public > internal > localhost. 

Reply via email to