无法从互联网访问 Apache

无法从互联网访问 Apache

我有一个由 Aruba 托管的虚拟服务器,运行的是 CentOS 6.5(最终版)。我遇到了问题httpd。我可以从服务器访问 apache 页面,也可以访问我创建并放入的测试页面var/www/html,但我无法在另一台计算机上执行相同操作。

在文件中/etc/httpd/conf/httpd.conf我只需添加行:“listen 0.0.0.0:80”,apache 正在运行,我可以从 ps 输出中看到它:

root      6107  0.0  0.5 131488  5736 ?        Ss   15:26   0:00 /usr/sbin/httpd
apache    6109  0.0  0.2 130832  2744 ?        S    15:26   0:00 /usr/sbin/httpd
apache    6110  0.0  0.3 131488  3164 ?        S    15:26   0:00 /usr/sbin/httpd
apache    7147  0.0  0.3 131488  3164 ?        S    15:29   0:00 /usr/sbin/httpd
apache    7148  0.0  0.3 131488  3164 ?        S    15:29   0:00 /usr/sbin/httpd
apache    7149  0.0  0.3 131488  3164 ?        S    15:29   0:00 /usr/sbin/httpd
apache    7150  0.0  0.3 131488  3164 ?        S    15:29   0:00 /usr/sbin/httpd

以下是以服务器的 IP 地址作为参数的 nmap 的输出:

PORT     STATE SERVICE
21/tcp   open  ftp
22/tcp   open  ssh
25/tcp   open  smtp
53/tcp   open  domain
80/tcp   open  http
110/tcp  open  pop3
143/tcp  open  imap
443/tcp  open  https
465/tcp  open  smtps
993/tcp  open  imaps
995/tcp  open  pop3s
3306/tcp open  mysql
8443/tcp open  https-alt

端口号 80 看起来是开放的...我该如何解决这个问题?

编辑:这是我的 iptables-save 输出:

# Generated by iptables-save v1.4.7 on Thu Mar 13 15:55:55 2014
*nat
:PREROUTING ACCEPT [6:312]
:POSTROUTING ACCEPT [1:60]
:OUTPUT ACCEPT [1:60]
COMMIT
# Completed on Thu Mar 13 15:55:55 2014 
# Generated by iptables-save v1.4.7 on Thu Mar 13 15:55:55 2014
*mangle
:PREROUTING ACCEPT [75:4926]
:INPUT ACCEPT [75:4926]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [53:4095]
:POSTROUTING ACCEPT [53:4095]
COMMIT
# Completed on Thu Mar 13 15:55:55 2014
# Generated by iptables-save v1.4.7 on Thu Mar 13 15:55:55 2014
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:VZ_FORWARD - [0:0]
:VZ_INPUT - [0:0]
:VZ_OUTPUT - [0:0]
 -A INPUT -j VZ_INPUT 
 -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
 -A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -j REJECT --reject-with tcp-reset 
-A INPUT -m state --state INVALID -j DROP 
-A INPUT -i lo -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 12443 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 11443 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 11444 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 8447 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 8443 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 8880 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 587 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 465 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 110 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 995 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 143 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 993 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 106 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 5432 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 9008 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 9080 -j ACCEPT 
-A INPUT -p udp -m udp --dport 137 -j ACCEPT 
-A INPUT -p udp -m udp --dport 138 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 139 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 445 -j ACCEPT 
-A INPUT -p udp -m udp --dport 1194 -j ACCEPT 
-A INPUT -p udp -m udp --dport 53 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT 
-A INPUT -p udp -j ACCEPT 
-A INPUT -p tcp -j ACCEPT 
-A INPUT -p icmp -m icmp --icmp-type 8/0 -j ACCEPT 
-A INPUT -j DROP 
-A FORWARD -j VZ_FORWARD 
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT  
-A FORWARD -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -j REJECT --reject-with tcp-reset 
-A FORWARD -m state --state INVALID -j DROP 
-A FORWARD -i lo -o lo -j ACCEPT 
-A FORWARD -j DROP 
-A OUTPUT -j VZ_OUTPUT 
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A OUTPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -j REJECT --reject-with tcp-reset 
-A OUTPUT -m state --state INVALID -j DROP 
-A OUTPUT -o lo -j ACCEPT 
-A OUTPUT -j ACCEPT 
-A VZ_INPUT -p tcp -m tcp --dport 80 -j ACCEPT 
-A VZ_INPUT -p tcp -m tcp --dport 22 -j ACCEPT 
-A VZ_INPUT -p tcp -m tcp --dport 25 -j ACCEPT 
-A VZ_INPUT -p tcp -m tcp --dport 110 -j ACCEPT 
-A VZ_INPUT -p tcp -m tcp --dport 53 -j ACCEPT 
-A VZ_INPUT -p udp -m udp --dport 53 -j ACCEPT 
-A VZ_INPUT -p tcp -m tcp --dport 32768:65535 -j ACCEPT 
-A VZ_INPUT -p udp -m udp --dport 32768:65535 -j ACCEPT 
-A VZ_INPUT -p tcp -m tcp --dport 8880 -j ACCEPT 
-A VZ_INPUT -p tcp -m tcp --dport 8443 -j ACCEPT 
-A VZ_INPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -p tcp -j ACCEPT 
-A VZ_INPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -p udp -j ACCEPT 
-A VZ_OUTPUT -p tcp -m tcp --sport 80 -j ACCEPT 
-A VZ_OUTPUT -p tcp -m tcp --sport 22 -j ACCEPT 
-A VZ_OUTPUT -p tcp -m tcp --sport 25 -j ACCEPT 
-A VZ_OUTPUT -p tcp -m tcp --sport 110 -j ACCEPT 
-A VZ_OUTPUT -p tcp -m tcp --sport 53 -j ACCEPT 
-A VZ_OUTPUT -p udp -m udp --sport 53 -j ACCEPT 
-A VZ_OUTPUT -p tcp -j ACCEPT 
-A VZ_OUTPUT -p udp -j ACCEPT 
-A VZ_OUTPUT -p tcp -m tcp --sport 8880 -j ACCEPT 
-A VZ_OUTPUT -p tcp -m tcp --sport 8443 -j ACCEPT 
-A VZ_OUTPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -p tcp -j ACCEPT 
-A VZ_OUTPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -p udp -j ACCEPT 
COMMIT
# Completed on Thu Mar 13 15:55:55 2014

答案1

如果您可以本地访问服务器,但不能远程访问,那么很可能是防火墙出了问题。

如果运行“ iptables -I INPUT -p tcp --dport 80 -j ACCEPT”,问题是否可以解决?

答案2

也许您的 nmap 框可以访问您的 apache 框。或者您的 apache 框位于执行 nat 但不转发端口 80 的路由器后面。

您应该更详细地描述您的设置。根据您所拥有的,该盒子应该可以通过互联网访问。如果没有通过网关/w/e 进行过滤。

答案3

您是否检查过防火墙 (iptables) 是否阻止了连接?尝试禁用 iptables 和 selinux 来排除故障。

从无法访问 Apache 的远程 PC 上对服务器 IP 的端口 80 执行 telnet。让我们知道输出是什么。

答案4

默认情况下,apache 会监听所有地址,但如果您指定listen 0.0.0.0:80,它将只监听指向 0.0.0.0 的连接,即本地连接。

相关内容