我在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重新启动就好了
答案 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服务器都应该监听公共接口。