Назад | Перейти на главную страницу

Oracle Linux 7: веб-сервер недоступен

Вот моя установка. У меня есть виртуальная машина с установленным Oracle Linux 7. Я начал apache с service httpd start и все началось без проблем. Я создал index.html файл в обоих /var/www/html и /var/www. Я могу подключиться к виртуальной машине с моего хост-компьютера, используя ping или ssh, но когда я открываю веб-браузер и перехожу к IP-адресу, сервер не отвечает.

Я проверил netstat -plent и это показывает, что порт 80 прослушивает:

# netstat -plent
tcp6       0      0 :::80                   :::*                    LISTEN      0          121584     36432/httpd

Я смотрел в несколько ответы которые предполагают, что iptables может быть проблемой, но ни одно из этих решений не помогло. Что еще может вызвать проблему?

Вы забыли открыть порт в брандмауэре.

Например.

firewall-cmd --add-service=http

Запомни сделать это постоянным также.

Вы слушаете только IPv6, используя вывод netstat.

Вам нужно либо получить доступ к веб-сайту только с помощью IPv6, либо создать другую директиву прослушивателя в apache для прослушивания 0.0.0.0:80. В httpd.conf:

Listen 0.0.0.0:80

Конечно, вы можете прослушивать только тот IP-адрес, с которого хотите обслуживать трафик.

Однако этот совет неверен, если у вас есть поддержка сокетов с двойным стеком в Linux. Вам может потребоваться только проверить, включено ли прослушивание двойного стека. Используя procfs, проверьте этот файл:

/proc/sys/net/ipv6/bindv6only

Если это не 0, вам нужно изменить его в своей конфигурации на 0 или явно прослушивать IPv4.

Также проверьте правила вашего брандмауэра; если вы отклоняете трафик на ipv4 или ipv6, это объяснит это. Проверить здесь:

iptables -t filter -nvL INPUT
ip6tables -t filter -nvL INPUT

Если политика по умолчанию не ACCEPT, и у вас нет правила, разрешающего HTTP-трафик, или если у вас есть правила, блокирующие его, это объясняет.