golang对localhost的处理

时间:2019-07-08 14:39:59

标签: go dns resolve musl

我有一个使用musl libc的高山linux系统,因此没有/etc/nsswitch.conf

根据该系统上的tcpdump,实际上net.LookupIP("localhost")进行了localhost.a.b.c的查询,其中a.b.c来自domain a.b.c中的/etc/resolv.conf。但是,如果我将/etc/nsswitch.confhosts: files dns添加在一起,它将正确地从localhost中查找/etc/hosts

据我所知,没有libc实现会尝试在DNS中向localhost添加域。因此(a)是否有充分的理由采用这种方法,或者它是一个错误? (b)是否有一种方法可以解决此问题,而无需添加nsswitch.conf并仅使用名称localhost

编辑 :更多详细信息:

ldd ./dnstest
    /lib/ld-musl-armhf.so.1 (0x76f2c000)
    libc.so => /lib/ld-musl-armhf.so.1 (0x76f2c000)

是的,对libc.so有依赖性。我也在构建命令行中使用CGO_ENABLED=1CGO_ENABLED=0进行了尝试。

0 个答案:

没有答案