brpc icon indicating copy to clipboard operation
brpc copied to clipboard

my_ip_cstr获取本机ip为127.0.0.1

Open xiaohei520321 opened this issue 2 years ago • 5 comments

Describe the bug (描述bug)

butil::my_ip_cstr() 获取本机的ip为127.0.0.1

To Reproduce (复现方法)

Expected behavior (期望行为) 期望获取到真实的ip

Versions (各种版本) OS: Compiler: brpc: protobuf:

Additional context/screenshots (更多上下文/截图)

xiaohei520321 avatar Jan 12 '23 02:01 xiaohei520321

机器上执行下面命令看看输出结果是否正常:

host `hostname`

leaf-potato avatar Jan 12 '23 12:01 leaf-potato

机器上执行下面命令看看输出结果是否正常:

host `hostname`

我有4台服务器,3台是能获取到本机ip的,1台只能获取到127.0.0.1 这4台服务器上运行结果都是: Host xxxxx not found: 3(NXDOMAIN) 其中xxxxx是该机子的hostname

xiaohei520321 avatar Jan 12 '23 12:01 xiaohei520321

看着挺奇怪的,可能是机器哪儿的配置不对。brpc是调用系统的接口获取hostname后解析ip:

  1. 可能hostname配置了多个ip地址,brpc只会选择第1个返回。
  2. 可以考虑手动将真实的ip写到/etc/hosts文件里。

leaf-potato avatar Jan 12 '23 15:01 leaf-potato

@xiaohei520321 获取不到ip的服务器上,hosts文件里有写127.0.0.1吗,删掉看可以不

lorinlee avatar Jan 15 '23 10:01 lorinlee

WSL环境里也有这个问题

mzygQAQ avatar May 18 '24 04:05 mzygQAQ