1. 首页
  2. 编程语言
  3. 其他
  4. golang解析域名的步骤全纪录

golang解析域名的步骤全纪录

上传者: 2021-05-06 23:11:17上传 PDF文件 65.14 KB 热度 12次

最近遇到了一个问题。解决办法很简单,给镜像添加 /etc/nsswitch.conf 文件指定解析顺序即可,内容如下。顺带完整的理一下linux系统里golang的域名解析。通过环境变量GODEBUG来配置。默认采用的是内置Go解析器,因为当DNS解析阻塞时,内置Go解析器只是阻塞了一个goroutine,而cgo的解析器则是阻塞了一个操作系统级别的线程。读取 resolv.conf 失败则强制使用cgo。当使用内置Go解析器时,根据解析优先级的不同,还会细分为下面四种。当 /etc/nsswitch.conf 文件不存在或者文件存在但是没有指定 hosts 字段时,linux下使用的是 hostLookupDNSFiles ,也就是说,dns解析优先hosts解析,所以就会出现开头出现的问题。所以指定 hosts: files dns,解析策略就是 hostLookupFilesDNS,即优先使用 /etc/hosts 。

用户评论