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
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
Curl SERVERIP:80
とcurl localhost:80
を使用すると、どちらもApacheからデフォルトのページを返します。
何が問題でしょうか?
サーバーは現在iptablesによってブロックされているため、ポート80でサーバーへのアクセスを有効にする必要があります。
Sudo /sbin/iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
これにより、最初にルールがiptables構成に挿入されます。これを実行して機能することをテストしたら、次にサービスを開始したときに使用されるように構成を保存する必要があります。
Sudo /sbin/service iptables save
これにより、現在の構成が/etc/sysconfig/iptables
に書き込まれます。
CentOS 7を使用している場合、FirewallDが適切な方法です。
firewall-cmd --zone = public --add-port = 80/tcp
それが機能することをブラウザで確認し、次に:
firewall-cmd --zone = public --add-port = 80/tcp --permanent
firewall-cmd --reload
変更を永続的にするには
Iptablesルールは、ポート22での着信接続のみを許可します。ポート80も開きます。
デフォルトのhttpサービスを直接使用することもできます
firewall-cmd --permanent --zone = public --add-service = http