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

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, но ни одно из этих решений не помогло. Что еще может быть причиной проблемы?

решение1

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

Например.

firewall-cmd --add-service=http

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

решение2

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

Вам нужно либо получить доступ к веб-сайту только с помощью 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-трафик, или у вас есть правила, блокирующие его, это может объяснить.

Связанный контент