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

Apache работает, но сервер не отвечает?

У меня на сервере свежая установка Fedora 15, которая доставляет мне проблемы.

Моя первая проблема заключалась в том, что httpd не запускался. Я продолжал получать сообщение об ошибке segfault, и системный администратор в конечном итоге отследил ее до проблемы с mod_perl, поэтому он удалил ее, и httpd запустился нормально.

Однако недавно у меня возникла еще одна очень неприятная проблема: я не получаю ответа от Apache.

Но всякий раз, когда я делаю запрос к серверу с любого компьютера, независимо от провайдера, я не получаю ответа - Chrome говорит, что даже не может подключиться. Я совершенно не понимаю, как это исправить, и я уже довольно много прослушивал системного администратора. Моя команда робототехники получает это серверное пространство бесплатно от компании, и мне нравится как можно меньше беспокоить системного администратора по поводу подобных вещей, но я полагаю, что мне придется, если этот вопрос не приведет к каким-либо решениям.

Спасибо за любую помощь.

Похоже на проблему с брандмауэром, если wget работает из командной строки.

Временно отключите брандмауэр, используя:

service iptables stop

Если это работает, то вы знаете, что вам нужно добавить правило в свой брандмауэр, чтобы разрешить порт 80 или 443.

В CentOS 7 или аналогичном проверьте, используете ли вы firewalld:

systemctl status firewalld

Если вы видите, что служба запущена, вы можете открыть порт 80, добавив http сервис, как объяснил пользователи root:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

Между прочим, однажды я установил CentOS 7 Minimal на машину, и брандмауэр не был установлен по умолчанию. Но при использовании другого ISO на другой машине он был установлен сам по себе. И я продолжал проверять не тот, который мне подсказывал, что нет никакого файервола!

Полезная команда, которая скажет вам, что это определенно nmap:

sudo nmap -sS -O -p80 ip-address

Starting Nmap 7.01 ( https://nmap.org ) at 2017-08-11 15:56 IST
Nmap scan report for ip-address
Host is up (0.0011s latency).
PORT   STATE SERVICE
80/tcp open  http

Если ты видишь фильтрованный вместо того открытоНет сомнений в брандмауэре. Дважды проверьте, что вы находитесь в правильном автомате, если у вас открыто несколько терминалов!

Еще один быстрый способ проверить из терминала - использовать curl. На сервере:

curl localhost

Это должно вернуть домашнюю страницу. На другом компьютере в сети:

curl ip-address

Это также должно вернуть домашнюю страницу. Если вам нужно нажать CTRL + C, потому что он сидит в ожидании, или если вы получили сообщение об ошибке, например Failed to connect to 1.2.3.4 port 80: No route to host но получил ответ, когда вы сделали это локально, это явный признак того, что что-то, скорее всего, брандмауэр, блокирует доступ.