覆盖每个进程的 DNS 条目

覆盖每个进程的 DNS 条目

我试图在不运行 consul 作为 DNS 服务器的情况下进行本地测试。这意味着我正在尝试映射web.service.consullocalhost.

我尝试过创建HOSTALIASES文件,但它似乎不支持别名中的点。我也尝试过玩LOCALDOMAINandRES_OPTIONS=ndots:10但无法让它发挥作用。

$ HOSTALIASES=/tmp/ha RES_OPTIONS=ndots:10 LOCALDOMAIN='consul' curl web.services.consul:8080
curl: (6) Could not resolve host: web.services.consul
$

哪里/tmp/ha

web.services.consul 127.0.0.1

有任何想法吗?谢谢。

答案1

普京/tmp/ha

web localhost

然后你可以用以下命令调用curl:

 HOSTALIASES=/tmp/ha curl web:8080

的格式HOSTALIASES在- 它与!hostname(7)不是一回事。/etc/hosts

如果您可以编辑/etc/hosts,您可以简单地将127.0.0.1 web.services.consul其放入,然后正常使用您的测试程序...另一种方法是使用iptables ... -j REDIRECT强制流量转至本地主机...但这两种方式都需要 root 访问权限。

相关内容