web-dev-qa-db-ja.com

CentOSの外部IPでApacheが機能しない

新しくインストールしたCentOS5.6マシンがあり、elinksを介してローカルでhttpdにアクセスできます。ただし、他のIPからは機能しません。 IPにpingを実行できますが、ポート80に接続すると、ホストへのルートが取得されません。一部のファイアウォールルールがポート80へのアクセスを妨げており、iptablesをチェックしているため、問題ないようです。

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain RH-Firewall-1-INPUT (2 references)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 255
ACCEPT     esp  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     ah   --  0.0.0.0/0            0.0.0.0/0
ACCEPT     udp  --  0.0.0.0/0            224.0.0.251         udp dpt:5353
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:631
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:631
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
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
3
Nina Sonbolian

ポート80のトラフィックを許可するルールがないようですこれを試してください

/sbin/iptables -I RH-Firewall-1-INPUT -p tcp -m tcp --dport 80 -j ACCEPT

それが機能する場合は、ファイアウォール構成を保存します

/sbin/service iptables save 

チェックするもう1つのことは、Apacheが実際に外部IPアドレスをリッスンするように構成されていることです。 /etc/httpd/conf/httpd.confファイルの Listen ディレクティブを確認してください。それは次のようなものでなければなりません

Listen 80 

利用可能なすべてのアドレスをリッスンします。

4
user9517

SELinuxが有効になっている場合-まず、Apacheに関連するすべてのSELinuxブール値を確認します。

[root@localhost ~]# getsebool -a | grep httpd
       . . . . . . 
httpd_builtin_scripting --> on
httpd_can_network_connect --> off
httpd_can_network_connect_db --> off
httpd_can_network_relay --> off
httpd_disable_trans --> off
httpd_enable_cgi --> on
httpd_enable_ftp_server --> off
httpd_enable_homedirs --> on
     . . . . . . . .

if httpd_can_network_connect --> off httpdでSELinux制限を無効にします:

[root@localhost ~]# setsebool -P httpd_can_network_connect on

または、system-config-selinux(SELinux Administrationグラフィカルツールとも呼ばれます)を使用して、特定のデーモンのブール値を制御します。

1
drafael