将我的本地 /etc/hosts 域指向一个 IP

将我的本地 /etc/hosts 域指向一个 IP

我正在测试一个新服务器并且一直在使用 /etc/hosts。

我已经能够让它在 domain.com 上运行,但如果我尝试 www.domain.com,它会指向当前委派的实际域的位置,而不是测试服务器。

IE

xxx.xx.xx.xx domain.com

如果我加载 domain.com,我会得到我输入的 IP 地址。这样,我输入 www.domain.com 就可以得到域名当前的托管位置。

如果我尝试:

xxx.xx.xx.xx www.domain.com

我最终还是选择了域名当前托管的位置,而不是测试服务器。

我在这里遗漏了什么?

答案1

xxx.xx.xx.xx www.domain.com 应该可以正常工作,前提是您已将解析器配置为首先使用 hosts 文件。(接下来尝试 DNS 并将 host 文件作为备份也是允许的,并且在某些发行版中可能是默认设置)。

我检查了 FreeBSD 和 Fedora,它们都有如下默认行:

>cat /etc/host.conf
# 从 nsswitch.conf 自动生成
主办方
域名系统

Fedora

订购主机,绑定

编辑:我刚刚看到你的评论说你使用 OS X。这使得这个帖子相关的

答案2

您对 /etc/hosts 文件的设置很好。

查看文件 /etc/nsswitch.conf,检查以“host: ”开头的行的第一个参数是否为“files”。如果不是,则说明 /etc/hosts 文件和 DNS 递归(dns 参数)之间存在优先级问题。

相关内容