![主机 Windows 8.1 上的 Chrome 无法连接到运行带有 Apache 的 Ubuntu 14.04 的客户机](https://linux22.com/image/1051462/%E4%B8%BB%E6%9C%BA%20Windows%208.1%20%E4%B8%8A%E7%9A%84%20Chrome%20%E6%97%A0%E6%B3%95%E8%BF%9E%E6%8E%A5%E5%88%B0%E8%BF%90%E8%A1%8C%E5%B8%A6%E6%9C%89%20Apache%20%E7%9A%84%20Ubuntu%2014.04%20%E7%9A%84%E5%AE%A2%E6%88%B7%E6%9C%BA.png)
我在 Windows 8.1 电脑上使用 VirtualBox 来托管运行 Apache 作为开发 Web 服务器的 Ubuntu Server 14.04 客户机。
我在 VirtualBox 中使用桥接适配器。
我在 Apache 上有几个虚拟主机,我可以使用主机上的 Firefox 或 IE 访问它们。但我无法使用 Chrome 访问它们。
Chrome 向我提供了以下信息:
ERR_CONNECTION_REFUSED
Google Chrome's connection attempt to cooksfromhome.localhost was
rejected. The website may be down, or your network may not be
properly configured.
[...]
据我所知,我的 Apache 配置应该没问题,因为我可以使用 Firefox 和 IE 毫无问题地访问它...看起来 Chrome 可以访问我的 VirtualBox,但 Apache 拒绝连接...知道为什么我会遇到这个问题以及我该怎么做才能解决它?
谢谢!
答案1
尝试这个:
前往LAN 设置(在 Chrome 中:工具 → 选项 → 后台 → 更改代理设置 → LAN 设置)
勾选复选框“绕过本地地址的代理服务器”
答案2
我终于找到了解决方案。
Chrome 会忽略主机文件中尝试将任何带有 .localhost 的网站发送到非计算机本地地址的 IP 的所有条目。(https://code.google.com/p/chromium/issues/detail?id=489973)
因此,我修改了 Ubuntu VirtualBox 中的 Apache vhost
ServerName mysite.localhost
到
ServerName mysite.local.host
(并且我相应地修改了我的主机文件)现在它可以工作了!
请注意,ServerName 可以是任何您想要的,只要它不以 .localhost 结尾。