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