Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rpc服务启动后注册到zk里面的ip地址不是当前应用服务器的内网ip #1041

Open
showsmall opened this issue Aug 21, 2023 · 1 comment

Comments

@showsmall
Copy link

showsmall commented Aug 21, 2023

rpc服务启动后注册到zk里面的ip地址不是当前应用服务器的内网ip
比如:测试环境app1应用,网卡绑定的内网ip是:172.16.10.1
但是app1启动后,在zk里面注册的ip不是这个本地Ip,而是获取到了/etc/resolv.conf 文件里面的域名的Ip:10086.cn这个域名对应的ip
os:Centos 7.6
内容如下:/etc/resolv.conf
search 10086.cn
nameserver 223.5.5.5
nameserver 223.6.6.6

@rayzhang0603
Copy link
Collaborator

可以通过下面三个方式来控制导出服务所使用的ip:

  1. 可以通过MOTAN_IP_PREFIX环境变量指定期望使用的ip前缀。比如设置环境变量MOTAN_IP_PREFIX为172.16,则会优先使用172.16开头的ip地址。
  2. 可以通过设置服务器的hostname来指定ip。根据你的问题描述,有可能是服务器设置了hostname为10086.cn,所以获取到了这个域名对应的ip。
  3. 可以在basicService或者service配置中设置host属性来指定要使用的ip,比如<motan:basicService host="172.16.10.1" ... >

如果不能调整hostname的话,建议通过设置环境变量方式指定要使用的ip的前缀。

Motan获取本机ip的代码逻辑可以参考这里

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants