如何从主机访问VM上的虚拟主机设置?

问题描述 投票:0回答:1

我想访问我在VirtualBox中设置的虚拟主机(网站)-> Ubuntu-Server18。我安装了apache2,并且一切都已设置。

主机(macOS)目前可以通过我在VirtualBox网络设置中分配的端口转发规则来访问来宾(Ubuntu服务器)中apache2的默认网站:

127.0.0.1:8000 -> 10.0.2.15:80

我已经使用以下配置在来宾计算机中设置了虚拟主机:

<VirtualHost *:80>

    ServerName dropn.taxi
    ServerAdmin [email protected]
    DocumentRoot /var/www/dropn.taxi/public_html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

上述DocumentRoot目录存在,并且具有服务于基本“ Hello World”主页所必需的文件。我也用安装在本地计算机上的apache进行了测试。该网站不是问题。

但是每次我从本地计算机访问localhost:8000时,都会看到一个Ubnutu-Apache问候页面。而当我尝试localhost:8000/dropn.taxi时,会得到一个404页面。我已经研究了很多,而我所能找到的最接近解决方案的方法是此页面中建议的内容:Ubuntu Apache2 local virtual hosts url not found

简而言之:如何从主机访问来宾计算机(VM)的虚拟主机?

仍不完全针对我的情况。希望在这方面有任何帮助。

apache virtualbox ubuntu-18.04 ubuntu-server
1个回答
0
投票
apache2服务器中的

localhost默认设置为指向/var/www/html。为了使虚拟主机正常工作,访问它们的域名必须是ServerName字段中定义的域名。

localhost:8000/dropn.taxi将转换为VM guest虚拟机中的127.0.0.1/dropn.taxi。这意味着,它正在尝试访问最终不存在的/var/www/html/dropn.taxi,因此会出现404错误。

解决方案是将dropn.taxi添加到主机和VM中的/etc/hosts文件中。该行如下所示:127.0.0.1 localhost dropn.taxi

[从主机访问时,我们在浏览器中使用dropn.taxi:8000,而客户机中未使用端口:8000。这样,无论何时访问虚拟主机,访问它们的域名都与ServerName字段匹配,并且可以正常工作!

© www.soinside.com 2019 - 2024. All rights reserved.