Apache连接在localhost之外被拒绝

时间:2017-04-14 23:00:43

标签: apache

我在Windows 10下的vmware上运行Ubuntu,我设置并配置了我的apache到这些配置:

/etc/apache2/apache2.conf中

<Directory /> ... stuff ... Require all granted </Directory>

VirtualHost1

 <Directory ...>
....
AllowOverride All 
Require all granted
</>

当我在我的虚拟机上从ubuntu内部调用网站时它已经很好了,但是当我从我的windows vm主机上调用这个网站我的conn。被拒绝了。

这是我的ubuntu主机文件:

127.0.0.1 test.com www.test.com

这是我的Windows主机文件

127.0.0.1 test.com www.test.com

****这里的所有列表都是近似的,所以不要在代码中引用错误,apache重新启动就好了

2 个答案:

答案 0 :(得分:1)

这取决于您如何配置虚拟主机网络设置。

127.0.0.1是指Windows机器上的Windows主机,127.0.0.1是指虚拟机上的ubuntu主机。 localhost(127.0.0.1)概念始终是本地主机,不应离开实际的网络接口(虚拟或非虚拟)。您需要通过Windows虚拟“外部”ip-number与虚拟主机联系。

您可以通过在shell中运行“ifconfig”来获取ubuntu ip-number。

祝你好运

耶尔

答案 1 :(得分:1)

出于所有意图和目的,虚拟机与主机不同。他们的网络是完全独立的。

如果您的虚拟网络是bridged,则需要从其公共接口(通常为eth0)访问您的ubuntu Web服务器。这意味着,您需要在Windows中编辑hosts文件以将www.test.com指向ubuntu的公共IP地址。

如果您的虚拟网络为NAT,则需要配置端口转发。如果可能,我建议使用相同的端口号以方便使用。您可以像以前一样保持Windows主机表。

在这两种情况下,apache Web服务器都应该监听公共接口。