Duc*_*tal 18 linux port centos6 apache-2.2
我有一个使用 apache 配置的 linux 服务器。但是我无法使用远程计算机访问它。
我可以正常ssh到服务器。
我的IP表:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 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
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Run Code Online (Sandbox Code Playgroud)
netstat -ant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 SERVERIP:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:45117 0.0.0.0:* LISTEN
tcp 0 196 SERVERIP:22 MyIP:3149 ESTABLISHED
tcp 0 0 :::111 :::* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 :::47193 :::* LISTEN
Run Code Online (Sandbox Code Playgroud)
使用Curl SERVERIP:80and curl localhost:80,都从 apache 返回默认页面。
可能是什么问题呢?
use*_*517 32
您需要在端口 80 上启用对服务器的访问,因为它当前被 iptables 阻止。
sudo /sbin/iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
这将在开始时将规则插入到您的 iptables 配置中。完成此操作并测试它是否有效后,您应该保存配置,以便下次服务启动时使用它,
sudo /sbin/service iptables save
Run Code Online (Sandbox Code Playgroud)
这会将当前配置写入/etc/sysconfig/iptables.
如果您使用 CentOS 7,那么 FirewallD 是正确的方法:
firewall-cmd --zone=public --add-port=80/tcp
使用您的浏览器验证它是否有效,然后:
firewall-cmd --zone=public --add-port=80/tcp --permanent
防火墙-cmd --reload
使更改永久化