Google Chrome忽略了C:/Windows/System32/drivers/etc/hosts
文件中的设置。 IE11和Firefox都安装在同一台机器上,并按预期工作。
我已经尝试了我在网上找到的所有解决方案,包括:
chrome://net-internals/#dns
,然后点击清除主机缓存按钮。http://
添加到网址的前面。cmd.exe
并运行ipconfig /flushdns
我很茫然......我有什么遗漏可以尝试或检查吗?
答案 0 :(得分:15)
Chrome似乎不喜欢此类扩展程序的以下扩展名:
.dev
.localhost
.test
.example
.app
使用 .local ,问题似乎消失了。
答案 1 :(得分:5)
尝试清除DNS缓存:
1)以管理员身份运行cmd.exe
2)输入:ipconfig / flushdns
答案 2 :(得分:3)
好的,我遇到了同样的问题,但后来找到了解决方案。 尝试这个: 转到历史记录( Ctrl + H )->在左窗格中,单击清除浏览数据 在打开的新窗口中,转到高级标签 将时间范围设置为所有时间->检查缓存的图像和文件->单击清除数据 重新启动计算机,它应该开始重定向主机文件(C:\ Windows \ System32 \ drivers \ etc \ hosts)中提到的地址
答案 3 :(得分:1)
在Chrome中已将其识别为“错误”,但这似乎绝对是故意的。连接到内部设备时,Chrome浏览器不支持/etc/hosts
。它总是执行DNS查找以确定IP地址。
虽然我在下面的参考文献大多与我在Linux上的经验有关,但并不限于Linux。
https://groups.google.com/a/chromium.org/forum/#!topic/net-dev/iKXqyc40tW0
https://superuser.com/a/887199/75128
https://bugs.chromium.org/p/chromium/issues/detail?id=117655
答案 4 :(得分:1)
有点晚,但是几个小时后我找到了解决方案。似乎Google Chrome浏览器有时无法识别/ etc / hosts中定义的主机名。
我正在使用linux,并且在代理后面。
尝试在名称服务器的末尾添加:.localhost
示例:
在:/ etc / hosts:
127.0.0.1 myservername.localhost
在服务器配置的虚拟主机上,您需要重命名服务器名称。就我而言,我使用的是apache,因此在/etc/apache/sites-enabled/myserver.conf中,将旧服务器名称的行重命名为:
...
ServerName: myservername.localhost
如果您位于代理后面,则可以将所有主机添加到no_proxy var中,除了这些主机之外:
$no_proxy= "localhost"
最后不要忘记重新启动服务器,并尝试使用新的服务器名称在浏览器中进行访问。
答案 5 :(得分:0)
虽然有人说没有使用代理,但在使用代理时我在OS X上遇到了同样的问题,最终的解决方案是为这个域添加代理例外。
OP可以尝试通过命令行开关关闭异步DNS 在2015年提到here:
异步DNS:从about:flags
中删除切换异步DNS目前相当稳定,所以我们并不需要 切换到:标志了。 (注意--enable-async-dns和 --disable-async-dns命令行标志现在仍然有用。)
然而,这似乎对我的情况没有影响,因为chrome://net-internals/#dns
仍然显示内部DNS客户端已启用,没有明显的方法将其关闭。
答案 6 :(得分:0)
我今晚刚遇到这个问题,这些选项都不起作用。我发现 Chrome现在隐藏了“ www” (https://www.howtogeek.com/435728/chrome-now-hides-www-and-https-in-addresses.-do-you-care/)。 Chrome使用的是我的主机文件,但我必须添加“ www”。到我的hosts
文件中的主机名,因为这实际上是浏览器所请求的,即使它没有显示它。