无法使 Ubuntu 上的 Apache 服务器联机

Can't make my Apache server on Ubuntu online

我在尝试设置我的 Apache 服务器时遇到了一些问题...我将解释我想要做什么以及发生了什么。首先,对不起我的语法 - 不是我的母语!

我正在使用 Windows,我的想法是在 Ubuntu VM (VirtualBox) 上设置一个 Apache 服务器,这样我就可以使用我的 IP 从其他计算机访问它(来自Windows 在 VM 之外,例如)。好吧,在 ubuntu 上,我安装了 Apache,正如我在那里发现的那样,一旦它被本地主机访问,它就应该已经可以通过 IP 访问了。问题是当我输入 localhost 时,我会进入默认的 apache 页面,而我的 IP 却没有,所以...我该怎么办?

P.S:从 Virtualbox 的网络设置中,我选择了 "Bridged adapter"(或类似的东西),我认为这是正确的。你有什么想法?谢谢!

编辑:好吧,我发现这不是因为我的 VM 设置 - 我可以使用其本地 IP 从同一网络内的多个设备访问 Web 服务器。我们知道问题出在 apache 服务器配置上,所以...您怎么看?

您需要为 Virtualbox 配置端口转发。转到 Oracle VM VirtualBox 管理器/“网络”页面中的 VM 设置。

选择 "bridged adapter" 是正确的,如果您的 "outside" 网络允许这样做(允许在 "outside" 网络上请求另一个 IP 用于 VM,然后在同一个网络作为您用于 运行 虚拟机的主机。 如果这不可能,您必须使用 NAT 网络,这将迫使您将端口转发到虚拟机中,这会更加棘手,尤其是当您想要 运行 网络服务器时。

现在你的问题在哪里?当你说本地主机可以访问它时,你是在虚拟机内部,从虚拟机内部的浏览器 运行 还是从 wget/curl?

尝试这个

更多详情:

你的 Apache 配置

从您的评论来看,您的问题似乎不在 VM/Network 配置中,而是在您的网络服务器的 httpd.conf 中。 虚拟主机设置,准确地说。 你能引用你的设置吗?如果你有较旧的 linux/apache 组合,这些可能在 /etc/httpd/httpd.conf 下,如果你有较新的版本,你可能会在 /etc/apache2/conf-available

下找到它们

我们需要仔细查看 Listen、ServerName 和 ServerAlias 指令。