我正在尝试在我的 CentOS 5、Apache 2.2.3 服务器上打开端口 8080。当我转到 ip:8080/mydirectory 时 - 它超时了。到目前为止,我已经运行了以下命令:
$ iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
$ service iptables save
$ iptables -A OUTPUT -p tcp --dport 8080 -j ACCEPT
$ service iptables save
$ iptables -A FORWARD -p tcp --dport 8080 -j ACCEPT
$ service iptables save
$ service iptables restart
$ service httpd restart
以下是我的 iptables 的输出
$ iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
我编辑了 apache 来反映这一添加:
<VirtualHost *:8080>
DocumentRoot "/var/www/html"
ServerName dedicatedipgoeshere
</VirtualHost>
感谢您的任何帮助!
答案1
您需要将其添加Listen 8080
到您的 apache 配置中。只需将其放在 VirtualHost 块的正上方即可。
例子:
Listen 8080
<VirtualHost *:8080>
DocumentRoot "/var/www/html"
ServerName dedicatedipgoeshere
</VirtualHost>
答案2
您不需要弄乱 FORWARD 和 OUTPUT 链,只需弄乱 INPUT。
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
如果你的输出策略不是 ACCEPT,则输出
iptables -I OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
但是如果上层是您的 iptables 规则集,那么超时不是因为防火墙,而可能是 apache 没有监听 8080。因为您的所有链都有 ACCEPT 策略。
尝试
netstat -tpln
检查 apache 是否正在监听 8080。