使用dubbo发布service时的ip地址老是个莫名奇妙的ip
虽然可以使用
-Ddubbo.protocol.host=192.168.31.90
解决,但ip老换着实很麻烦。故开始解决这个问题。
dubbo 获取ip 代码在
InetAddress localAddress = NetUtils.getLocalAddress();
这里优先使用
InetAddress.getLocalHost()
获取ip.返回
bogon/61.222.82.66
通过 https://stackoverflow.com/questions/9481865/getting-the-ip-address-of-the-current-machine-using-java 可以看到 获取有问题。
注意这里的主机名称为bogon.
修改主机名称
sudo scutil --set HostName MacBookPro
修改共享名称
sudo scutil --set ComputerName MacBookPro
最后在vim /etc/hosts
127.0.0.1 localhost MacBookPro
::1 localhost MacBookPro
dubbo 再获取ip时就是正确地址。
网友评论