我正在 Windows 7 机器上开发网站。
当我安装 Firefox 时,我发现一些性能问题,特别是在连接到本地主机时,通过谷歌搜索我发现它与浏览器使用 IPv6 解析 URL 有关。
使用about: config
并设置network.dns.disableIPv6
为 true 问题就消失了。
现在我在使用 Google Chrome 时遇到了同样的问题,但我找不到方法(如果有办法的话)来执行与使用 Firefox 时相同的操作。
有什么建议么?
答案1
编辑计算机上的“hosts”文件,确保其中有一个 ipv4 样式的 localhost 条目。转到:
C:\Windows\System32\drivers\etc\hosts
确保有一行看起来像
127.0.0.1 localhost
并确保带有 ipv6 样式的行已被注释掉(用#)
# ::1 localhost
您必须以管理员模式运行编辑器才能保存更改。我以前遇到过这个问题,这个更改帮我解决了这个问题。它不会在您的计算机上禁用 ipv6,它只是告诉它使用 ipv4 进行本地主机查找。
答案2
使用命令行标志启动 Chrome--disable-ipv6
答案3
该--disable-ipv6
标志不再起作用(1149303005),因此要使用的方法是策略表(RFC3484)你的操作系统的实现:
- Windows:谷歌
netsh prefixpolicies
。 - Linux:编辑
/etc/gai.conf
。
不幸的是,Chrome 的名称解析方法(async-dns)忽略了操作系统的 IPv4/IPv6 优先级,因此:
- 使用该标志从控制台启动 Chrome
--disable-async-dns
即可达到此目的,但显然,您将失去该功能。 - 希望谷歌能解决这个问题516305有一天:-)
答案4
如果您在 Linux 上运行 Google Chrome 或 Chromium,您可以按照 Matt 的建议执行相同的操作。
以 root 身份编辑 /etc/hosts 文件。
我注释掉了所有 ipv6 地址(带有冒号:),页面加载速度变得更快了,这可能是巧合,但我不这么认为。