Chrome 现在将 localhost 的 IP 地址视为与 somesite.localhost 相同

Ian*_*han 4 iis google-chrome localhost hosts vagrant

一段时间以来,我一直在 Windows 7 操作系统上运行两个不同的服务器环境。IIS 在 127.0.0.1 上运行,我有一个使用 192.168.33.10 的 Vagrant VM。我的主机文件看起来像:

  • vagrantsite1.localhost 192.168.33.10
  • vagrantsite2.localhost 192.168.33.10
  • iissite1.localhost 127.0.0.1
  • iissite2.localhost 127.0.0.1

直到大约一周前,这个设置都运行得很好,但是最近我的 Chrome 浏览器发生了一些变化。现在,当我在 Chrome 中访问 vagrantsite1.localhost 时,它突然引用 IIS 127.0.0.1 IP 地址,而不是 192.168.33.10。我使用chrome://net-internals/#dns检查了这一点,甚至清除了主机缓存,这似乎没有解决任何问题。

经过一些研究,我发现如果我将localhost 192.168.33.10添加到我的主机文件中,流浪站点就可以工作,但是现在我的 IIS 站点尝试访问此 IP,而不是 127.0.0.1。Chrome 似乎不允许我使用localhost条目中的somesite.localhost不同的 IP 。这在 IE 和 Firefox 中不是问题,直到最近在 Chrome 中也不是问题。

我想知道其他人是否有这个问题或潜在的解决方案(而不是每次我想切换服务器时手动设置本地主机IP)?我意识到我可以为其中一台服务器使用不同的端口号作为解决方案,但是由于 IE 和 Firefox 中一切正常,并且直到最近在 Chrome 中也运行良好,我想知道原因。

小智 5

这是一个刚刚添加到 chrome 中的“功能”,所有 localhost 域将始终解析为环回。

请参阅以下链接了解更多信息:

一种解决方法是将您的条目更改为不以 localhost 结尾,例如“vagrantsite1.local 192.168.33.10”之类的内容应该可以工作。