За последние 8 часов я вырывал свои волосы из-за этой проблемы, и я не могу всю жизнь найти эту проблему.
У меня совершенно новая версия Ubuntu 17.10 на компьютере, на котором я установил apache2. Когда я пытаюсь подключиться к серверу на локальном хосте, я получаю тестовую страницу Ubuntu, как обычно. Но когда я пытаюсь подключиться из любого места за пределами localhost, я ничего не получаю. Какой бы браузер я не использовал, просто говорится, что время соединения истекло.
Я попытался пропинговать сервер, и пинг проходит. Любая другая машина в моей сети может получать трафик через порт 80, что исключает проблемы с маршрутизатором. UFW неактивен, поэтому я не понимаю, как это может мешать. Я даже пытался переключиться на другую ОС на той же машине, и она работает, когда я переключаю ОС, но она не будет работать с 17.10.
На данный момент я нахожусь в тупике, и я не уверен, что делать дальше.
Любая помощь будет принята с благодарностью, и спасибо заранее!
Общее устранение неполадок сетевого стека осуществляется следующим образом:
netstat -lanp | grep apache2
Запишите IP-адрес и номер порта из приведенной выше команды. В моем случае это
tcp6 0 0 ::: 80 ::: * LISTEN 12253 / apache2
tcp6 0 0 ::: 443 ::: * LISTEN 12253 / apache2
Попробуйте подключиться через telnet другая машина
telnet ipaddress_ofyour_apache_host 80
вы должны получить
Trying ipaddress_ofyour_apache_host..
Connected to ipaddress_ofyour_apache_host
Если вы все еще не получили страницу приветствия от Apache, попробуйте проверить apparmor и временно отключить его
sudo systemctl stop apparmor.service sudo update-rc.d -f apparmor remove
Снова проверьте в своем веб-браузере, не открыли ли вы страницу, и проверьте доступ к apache2. log
Ну, проблема исправлена, но, к сожалению, я не могу точно объяснить, почему. У меня было статическое сопоставление с сервером в маршрутизаторе, и я думаю, что серверу это не понравилось. Я переключил IP-адрес сервера, и он, кажется, работает нормально.