无法连接到主机外的 ubunu 虚拟机上的 apache 服务器

无法连接到主机外的 ubunu 虚拟机上的 apache 服务器

我在我的 ubuntu 虚拟机上设置了一个 apache 服务器,但无法在主机、手机、虚拟机等外部连接到它。我不知道我是否已正确设置所有设置,因为这是我第一次做这样的事情。我尝试过端口转发端口 80 和 443,但我不确定在哪里使用哪个 IP。在端口转发页面上,系统要求我输入服务器 IP 和原始 IP,以及起始/结束端口。我应该在这里使用什么 IP?

我还尝试完全禁用主机上的防火墙。当我尝试通过其静态 ipv4 地址或本地主机访问主机上的服务器时,它可以工作。但是我无法使用同一网络上的手机等上的相同 ip 连接到它。有些东西告诉我我在某处使用了错误的 ip。

在 apache2.conf 文件中,它显示“Include ports.conf”,其中包含:

Listen *:80
Listen *:443

<IfModule ssl_module>
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listem 443
</IfModule>

正如我所说,我对 Linux 和服务器完全陌生。现在,我只想让我的服务器显示一个简单的 php 页面,显示当前时间。

答案1

为了连接到 VirtualBox 实例,您需要将网络配置为使用“桥接适配器”。此操作在主机上完成,如下面的屏幕截图所示:

VirtualBox 网络

完成后,启动虚拟机并确认分配给它的 IP 地址。您可以使用以下命令执行此ip操作,如以下示例中所示:

$ ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 8c:16:45:06:86:49 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.110/24 brd 192.168.0.255 scope global noprefixroute enp0s31f6
       valid_lft forever preferred_lft forever
    inet6 2402:6b00:3ed9:f300:fc3f:a893:ec64:92ea/64 scope global temporary dynamic 

在这里我可以看到虚拟机的 IP 地址为192.168.0.110。如果我将其放入浏览器中,那么我将看到来自 Apache 的结果。

如果您要在本地网络上对虚拟机使用 SSL(端口 443),则可能需要自签名的东西或进行大量 DNS 繁琐工作才能在独立网络内使用 Let's Encrypt 的东西。除非您计划将虚拟机暴露给整个互联网,否则您应该能够熟练使用端口 80 上的标准 HTTP 请求。

希望这能帮助你解决一些最初的问题

相关内容