Chrome现在处理localhost的IP地址与somesite.localhost相同

时间:2015-06-01 17:37:01

标签: google-chrome iis localhost vagrant hosts

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

  • 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浏览器发生了一些变化。现在,当我访问vagrantsite1.localhost时,Chrome会突然引用IIS 127.0.0.1 IP地址而不是192.168.33.10。我使用 chrome:// net-internals /#dns 检查了这一点,甚至清除了主机缓存,这似乎无法解决任何问题。

经过一些研究后我发现如果我将 localhost 192.168.33.10 添加到我的hosts文件中,则流浪汉网站可以正常工作,但是现在我的IIS网站尝试访问此IP而不是127.0.0.1。 Chrome似乎不允许我从 localhost 条目中为 somesite.localhost 使用不同的IP。这在IE和Firefox中不是问题,直到最近它还不是Chrome中的问题。

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

1 个答案:

答案 0 :(得分:3)

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

有关详细信息,请参阅以下链接:

一种解决方法是将您的条目更改为不在localhost中结束,例如“vagrantsite1.local 192.168.33.10”应该可以正常工作。