У меня недавно установлен CentOS 5.6, и я могу получить доступ к httpd локально через elinks. Но с других IP не работает. Я могу пропинговать IP-адрес, но у меня нет маршрута к хосту, если я подключаюсь к порту 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
Похоже, у вас нет правила, разрешающего трафик на порт 80, попробуйте это
/sbin/iptables -I RH-Firewall-1-INPUT -p tcp -m tcp --dport 80 -j ACCEPT
если это сработает, сохраните конфигурацию брандмауэра с помощью
/sbin/service iptables save
Еще нужно проверить, что Apache действительно настроен для прослушивания вашего внешнего IP-адреса. Проверить Слушать директива в вашем /etc/httpd/conf/httpd.conf
файл. Это должно быть что-то вроде
Listen 80
слушать по всем доступным адресам.
Если SELinux включен - прежде всего проверьте все логические значения SELinux, связанные с apache:
[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
. . . . . . . .
если httpd_can_network_connect --> off
отключить ограничение SELinux на httpd:
[root@localhost ~]# setsebool -P httpd_can_network_connect on
Или используйте система-конфигурация-selinux, также известный как графический инструмент администрирования SELinux, для управления логическими значениями определенных демонов.