我正在尝试访问类似网站https://get.dev,但没有加载网站,而是出现了“正在解析主机”的消息,然后我收到“无法访问此站点,找不到 get.dev 的服务器 IP 地址。DNS_PROBE_FINISHED_NXDOMAIN”。
以下是我目前所做的:
- 我尝试过使用不同的浏览器(Chrome、Safari、Firefox)访问网站 - 但都没有成功。所以它不是重复的如何在 Chrome 中停止从“http://”到“https://”的自动重定向
- 我的主机配置非常默认:
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
- 我之前安装过 Laravel Valet,但我删除了它并卸载了 dnsmasq (
brew uninstall dnsmasq
)。删除后我重启了电脑。 - 我也尝试过 ping 这些域,但控制台(一段时间后)只返回
ping: cannot resolve get.dev: Unknown host
- 可以从同一 Wi-Fi 网络中的其他计算机访问“.dev”网站。
我想知道我还能做些什么来调试它并使其工作?
答案1
好的,我明白了:
- 我使用了
scutil --dns
返回当前解析器配置的命令 - 有条目:
resolver #8
domain : dev
nameserver[0] : 127.0.0.1
flags : Request A records, Request AAAA records
reach : 0x00030002 (Reachable,Local Address,Directly Reachable Address)
- 然后我进入目录
/etc/resolver
,找到了一个名为 的文件dev
。 - 我删除了该文件后,一切恢复正常
答案2
这dig
说明您的 DNS 客户端配置是正确的,即您实际上正在使用 cloudflare 服务,并且它返回了正确的结果。
因此,这ping
不起作用意味着它实际上没有查询 DNS。您的/etc/hosts
文件没有问题(而且速度很快 - 您说 ping 需要一段时间才会失败)。运行cat /etc/nsswitch.conf
;以 configures 开头的行hosts:
表示 ping(以及您的浏览器和所有其他常规工具或应用程序)将尝试获取名称到 IP 的数据。如果它没有读取files dns
(即“使用 /etc/hosts,然后尝试 DNS”),那就是您的问题。