我在 VirtualBox(最新版)中安装了全新的 TurnKey LAMP VM(Ubuntu、Apache2、PHP 5.2,通常如此)。我配置了网络,使其192.168.1.111
在桥接网络上具有 IP。然后我从主机登录到 Webmin http://192.168.1.111/
--worked 正常。在 Webmin 中,我使用 设置了一个 Apache2 虚拟主机,ServerName
foo.local
并在配置的目录中设置了一个 PHP 应用程序。然后我将行添加127.0.1.1 foo.local
到/etc/hosts
。
现在回到我的主机--Windows 7--我编辑了我的C:/windows/system32/drivers/etc/hosts
文件并添加了行192.168.1.111 foo.local
。现在,从Windows我可以正常工作,当我从VM时,它可以完美地加载虚拟主机的主页,并且应用程序可以完美运行。ssh [email protected]
lynx http://foo.local/
但是当我在 Windows 主机上打开浏览器并导航到时,http://foo.local/
我得到了意想不到的结果:在 IE8 中(记录显示,这不是我选择的浏览器),当我点击时,http://foo.local/
它会将我带到 VM 的 Webmin 主页,就像我http://192.168.1.111/
在主机上访问一样。然而,在 Chrome 中,我只是被重定向到http://localhost/
--ie Windows 的本地主机,它没有配置 Web 服务器,因此出现错误。
有人能帮我解决这个问题吗?我尝试了主机和虚拟机上我能想到的所有配置组合,但这让我很抓狂。提前谢谢了。
答案1
您是否尝试过重新启动 chrome 以确保它已获取修改后的 hosts 文件?
另一个选择是:
- 转到扳手图标
- 选项
- 引擎盖下
- 清除浏览数据
- 关闭除清空缓存之外的所有复选框。
- 点击清除浏览数据
答案2
确保NameVirtualHost *:80
您的 Apache 配置文件中有它,我知道 CentOS/RHEL 默认将其注释掉。
答案3
我终于以某种方式解决了这个问题。就像我说的,我尝试了所有我能想到的配置,但最终它还是<VirtualHost foo.local:80>
变成foo.local.conf
了<VirtualHost *:80>
。
我仍然不知道为什么 Chrome 会出现问题 - 可能是某种缓存问题 - 但它至少在主机上的一个浏览器中运行正常,所以我很高兴。