无法访问远程 CentOS Apache Web 服务器

无法访问远程 CentOS Apache Web 服务器

我正在运行 Centos 7 的远程虚拟机上配置 Web 服务器。我可以通过 ssh 访问该机器,但是当我安装并配置 Apache 进行简单测试后,我无法访问远程网页。

我尝试从本地计算机 (ubuntu) ping 远程 IP。我收到了这条消息,但没有发生更多事情:

PING <remote ip> (<remote ip>) 56(84) bytes of data.

如果我远程关闭虚拟机,我会得到

From <remote ip> icmp_seq=138 Destination Host Unreachable

当我停止 ping 任务时,我得到

3 packets transmitted, 0 received, 100% packet loss, time 2031ms

我的 iptables 规则如下:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   45  3148 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:80
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

禁用 SELinux 不起作用。可能是什么问题呢?

更新:我尝试了以下方法

  • 防火墙cmd --add-service=http --zone=public --permanent

  • $ nmap -Pn -PS80 <remote ip>给出以下内容(但是 apache 无法访问)

    开始 Nmap 7.60 (https://nmap.org) 于 2018-01-27 19:18 CET

    Nmap 扫描报告 ip-

    主机已启动(0.058 秒延迟)。

    未显示:999 个过滤端口

    港口国服务

    22/tcp 打开 ssh

答案1

在默认配置的 Centos 7 上,安装新的网络服务后,还必须配置软件防火墙以允许它,否则将无法访问。

要立即允许 HTTP:

# firewall-cmd --add-service=http --zone=public

要使设置永久化:

# firewall-cmd --add-service=http --zone=public --permanent

要使设置立即生效并在重新启动后保持不变,您必须使用该firewall-cmd命令两次:一次不带该--permanent选项,一次带该选项。

这是iptables您的 Ubuntu 还是 Centos VM 的输出? TCP 端口 80 上的字节和数据包计数仍然为零,表明没有传入的 HTTP 连接尝试到达该系统。如果那是来自 Centos,那么它和您的nmap输出一起确认这两个系统之间肯定存在某些阻止 HTTP 连接的东西。

相关内容