为什么 Google Chrome 无法解析 /private/etc/hosts 中的子域名?

为什么 Google Chrome 无法解析 /private/etc/hosts 中的子域名?

如果我在 OS X 上的 /private/etc/hosts 中定义子域名,例如测试.本地主机,Google Chrome (51.0.2704.106 (64 位)) 无法解决这些问题(尽管直到今天它都可以正常工作)。另一方面,其他浏览器(例如 Firefox)可以很好地解决这些问题。

报告的错误是这样的:

尝试检索 URL 时遇到以下错误:http://test.localhost:8080/

无法根据主机名 test.localhost 确定 IP 地址

DNS 服务器返回:

名称错误:域名不存在。这意味着系统无法解析 URL 中显示的主机名。请检查地址是否正确。

为什么 Chrome 无法从 hosts 文件解析子域名?

我的 /private/etc/hosts 文件目前如下所示,最后一个条目是我正在测试的条目:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost
fe80::1%lo0 localhost
192.168.59.103 plugins.docker
192.168.59.103 login.docker
127.0.0.1 test.localhost

答案1

导致此错误的原因是禅美Chrome 中启用了代理扩展,显然它无法处理“子域”本地 DNS 条目。

答案2

您可能需要为 127.0.0.1 设置一个条目。您可以为任何地址添加多个名称,只需列出它们并在它们之间留有空格即可:

127.0.0.1 localhost test.localhost example.com
::1 localhost test.localhost example.com

相关内容