![无法从互联网访问 Apache](https://linux22.com/image/628811/%E6%97%A0%E6%B3%95%E4%BB%8E%E4%BA%92%E8%81%94%E7%BD%91%E8%AE%BF%E9%97%AE%20Apache.png)
我有一个由 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 的连接,即本地连接。