虚拟机中的Apache2虚拟主机,无法从主机访问

我在VirtualBox(最新版)中安装了一个新的TurnKey LAMP VM(Ubuntu,Apache2,PHP 5.2,通常)。 我configuration了networking,使其在桥接networking上的IP为192.168.1.111 。 然后我从http://192.168.1.111/的主机login到Webmin – 工作正常。 在Webmin中,我使用ServerName foo.local设置了一个Apache2虚拟主机,并在configuration的目录中设置了一个PHP应用程序。 然后我将127.0.1.1 foo.local行添加到/etc/hosts

现在回到我的主机 – Windows 7 – 我编辑了我的C:/windows/system32/drivers/etc/hosts文件并添加了行192.168.1.111 foo.local 。 现在,我可以从Windows上ssh [email protected]就好了,当我从虚拟机lynx http://foo.local/lynx http://foo.local/时,它会完美地加载虚拟主机的主页,并且应用程序可以正常工作。

但是,当我打开Windows主机上的浏览器,并导航到http://foo.local/我得到意想不到的结果:在IE8(不是我select的浏览器,logging),当我打http://foo.local/它将我带到虚拟机的Webmin主页上,就像我在主机上访问http://192.168.1.111/ 。 然而,在Chrome中,我只是redirect到http://localhost/ – Windows的本地主机,它没有configurationWeb服务器,所以错误。

有谁能帮我解决这个问题吗? 我已经尝试了主机和虚拟机上的所有configuration组合,我可以想到,这是驱动我的屁股。 提前致谢。

你有没有尝试重新启动铬,以确保它已经拿起修改的主机文件?

另一个select是:

  • 转到扳手图标
  • 选项
  • 在胡德之下
  • 清除浏览数据
  • closures清空caching以外的所有checkbox。
  • 点击清除浏览数据

确保你的Apacheconfiguration文件中有NameVirtualHost *:80 ,我知道CentOS / RHEL默认已经注释掉了。

我终于解决了这个问题。 就像我说的,尝试了所有我能想到的configuration,但是最终它将<VirtualHost foo.local:80> foo.local.conf<VirtualHost *:80>

我仍然不知道Chrome为什么会行事不端 – 可能是某种caching问题,但是它至less在主机上的一个浏览器上工作,所以我很高兴。