通过主机操作系统(OS X)访问客户操作系统(Ubuntu)本地托管的网站

通过主机操作系统(OS X)访问客户操作系统(Ubuntu)本地托管的网站

我认为标题很好地解释了我想要做的事情,但这里还有一些额外的信息:

在 VMWare Fusion 中运行的客户操作系统(Ubuntu)配置:我有 3 个由 Apache2 托管的虚拟站点,可以使用 Ubuntu 上的 /etc/hosts 中的以下几行来访问它们:

127.0.0.1 siteA.localhost

127.0.0.2 siteB.localhost

127.0.0.3 siteC.localhost

但是,我希望我的主机操作系统(OS X)也能够访问这些。

Ubuntu 的 IP 是 172.16.47.132。

当我在 OS X 浏览器中访问该 IP 时,它只会看到一个典型的“/ 索引”页面,没有可点击的文件夹,因此看起来我可以访问网络服务器,但无法访问网站。

我会非常感激任何帮助。提前致谢!

答案1

127.xxx 是本地主机 IP 号码,因此当您访问它们时,您最终会进入您自己的计算机(您的主机操作系统可能在其 Web 服务器上显示“/ 的索引”)

要从另一台主机访问 Web 服务器,您需要使用来宾的“真实”IP 号码(可能是 10.xxx 或 192.168.xx IP,因为它是本地 VM),而不是本地主机 IP。这也意味着您需要让 Apache 绑定到真实 IP,而不是其虚拟站点的本地主机 IP。

答案2

好的,我设法按照以下步骤解决了该问题:

  1. 打开 /etc/rc.local

  2. 为我想要创建的每个虚拟网卡添加一行,例如:

    ifconfig eth0:1 192.168.0.2 netmask 255.255.255.0 broadcast 192.160.0.255

  3. 编辑 apache2 中的虚拟主机,以便监听新创建的虚拟 NIC。示例:

    < VirtualHost 127.0.0.2:80 192.168.0.2:80 >

  4. 重新启动 Ubuntu,一切正常运行。

显然,Ubuntu 11.10 中存在一个错误,导致/etc/network/interfaces文件中的条目无法正常工作,因此与该文件相关的方法对我来说不起作用。

相关内容