如何避免curl尝试IPv6名称解析

Man*_*har 7 dns ipv6 curl

当我尝试从 docker 容器获取“另一个容器名称”时,curl 首先尝试将该名称解析为 IPv6。这会导致几秒钟的延迟,因为无法通过 ipv6 访问 Web 服务器。

我删除了容器接口上的链接本地地址,并在容器的 lo 和 eth0 接口上禁用了 ipv6。curl 仍然尝试首先将名称解析为 IPv6(除非通过curl -4 强制)。

这似乎是错误的。为什么即使禁用了 ipv6,curl 仍尝试将名称解析为 ipv6?

Dam*_*n C 0

就我而言,全局禁用 IPv6 不起作用

\n

我仍然看到 5 秒的“初始化”延迟。
\n只有-4参数有效。\n(与命令相同wget

\n

我还尝试强制 iptables 拒绝 IPV6 流量。
\n\xe2\x86\xaa 没有任何变化

\n

域名系统

\n

我的测试表明,正是名称解析导致了这种延迟。
\n如果我卷曲基于 IP 的 URL,它会立即完成。

\n

奇怪的是,名称解析本身nslookup是即时的(并且不包含 IPV6 答案)

\n