无法让 Apache 在多接口虚拟机上提供页面服务

无法让 Apache 在多接口虚拟机上提供页面服务

我有一台在 vmware 上运行的 ubuntu 18.04 服务器,它有 2 个接口,我在其中安装了一个 apache 网络服务器。

我可以通过“curl localhost”和“curl ip-addr-of-1st-interface”连接并获取默认页面,但“curl ip-addr-of-2nd-interface”不起作用且超时。

安装完全按照默认设置,没有对配置文件进行任何更改,只需执行“apt-get install apache2”即可。我的理解是默认配置应该在所有接口的端口 80 上提供服务。

防火墙通过“ufw status”处于“非活动状态” apache2 服务已成功启动,并且根据“service apache2 status”处于“正在运行(活动)”状态。netstat 显示此服务正在 :::80 上监听(这很有教育意义...:在 netstat 中没有看到 apache 在运行)。

我可以通过“第二个接口”(以及第一个接口)上的 ssh 入站和出站 ping 和连接。但我就是无法在第二个接口上建立端口 80 连接……

这两个接口上的 IP 配置:

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# 1st interface
auto ens160
iface ens160 inet static
address 172.26.254.121
netmask 255.255.255.0
network 172.26.254.0
broadcast 172.26.254.255
gateway 172.26.254.1
dns-search <redacted>
dns-nameservers <redacted>

# 2nd interface
auto ens192
iface ens192 inet static
address 172.16.142.201
netmask 255.255.255.0
network 172.16.142.0
broadcast 172.16.142.255
post-up route add -net 172.16.112.0 netmask 255.255.255.0 gw 172.16.142.1
post-up route add -net 172.16.113.0 netmask 255.255.255.0 gw 172.16.142.1
post-up route add -net 172.16.122.0 netmask 255.255.255.0 gw 172.16.142.1
post-up route add -net 172.16.123.0 netmask 255.255.255.0 gw 172.16.142.1
post-up route add -net 172.16.132.0 netmask 255.255.255.0 gw 172.16.142.1
post-up route add -net 172.16.133.0 netmask 255.255.255.0 gw 172.16.142.1
post-up route add -net 172.16.142.0 netmask 255.255.255.0 gw 172.16.142.1
post-up route add -net 172.16.143.0 netmask 255.255.255.0 gw 172.16.142.1

此时,如果大家有什么建议,我将不胜感激。我已经为此绞尽脑汁了大半天,却始终找不到解决方案。如果有其他信息有帮助,请告诉我。

答案1

我搞明白了。这是一个实验室环境,所有外部访问都是通过 Web 代理进行的。第二个接口的 IP 是不是包含在 /etc/environment 中的“no_proxy”语句中。现在正在工作!:)

我解决这个问题的方法是完全禁用第一个接口。由于根本无法访问代理,curl 到第二个接口 IP 打印了一个错误,让我的大脑昏暗处亮起了一个灯泡。虽然第一个接口启动了,但它只是挂在那里很长时间,最后给了我一个“网关超时”页面,我没有想到这个页面来自我们的网络代理。

相关内容