Вопрос или проблема
Я использую Ubuntu 19.10, и когда я пытаюсь открыть 127.0.0.1 в Chrome, я получаю
Этот сайт недоступен. 127.0.0.1 отказался подключиться.
и то же самое происходит в Firefox
Не удается подключиться. Firefox не может установить соединение с сервером по адресу 127.0.0.1.
Тем не менее, пингование из терминала работает
> ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) байт данных.
64 байта от 127.0.0.1: icmp_seq=1 ttl=64 время=0.044 мс
64 байта от 127.0.0.1: icmp_seq=2 ttl=64 время=0.067 мс
64 байта от 127.0.0.1: icmp_seq=3 ttl=64 время=0.053 мс
64 байта от 127.0.0.1: icmp_seq=4 ttl=64 время=0.066 мс
64 байта от 127.0.0.1: icmp_seq=5 ttl=64 время=0.056 мс
Аналогично, netstat показывает, что он используется другими программами
sudo netstat -antp
Активные сетевые подключения (серверы и установленные)
Протокол Recv-Q Send-Q Локальный адрес Удалённый адрес Состояние PID/Имя программы
tcp 0 0 0.0.0.0:8084 0.0.0.0:* LISTEN 1224/mono
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 951/systemd-resolve
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1061/cupsd
tcp 0 0 127.0.0.1:29754 0.0.0.0:* LISTEN 3288/vpnagentd
tcp 0 0 127.0.0.1:9050 0.0.0.0:* LISTEN 1291/tor
tcp 0 0 0.0.0.0:538 0.0.0.0:* LISTEN 1206/gdomap
tcp 0 0 0.0.0.0:17500 0.0.0.0:* LISTEN 7173/dropbox
tcp 0 0 127.0.0.1:17600 0.0.0.0:* LISTEN 7173/dropbox
tcp 0 0 127.0.0.1:17603 0.0.0.0:* LISTEN 7173/dropbox
tcp 0 0 127.0.0.1:8200 0.0.0.0:* LISTEN 1789/mono-sgen
tcp 0 0 127.0.0.1:8300 0.0.0.0:* LISTEN 25574/mono-sgen
Я не использую прокси.
Как указал @Jos в комментарии, проблема заключалась в использовании плагина Zotero для Chrome “Zotero Connector” без настольного приложения Zotero. Установка настольного приложения Zotero решила проблему.
Когда вы подключаетесь к сайту через браузер, используется протокол HTTP или HTTPS, который является соединением на основе TCP с портами 80 или 443 соответственно. Пинг, с другой стороны, использует низкоуровневый протокол, называемый ICMP, который не имеет номеров портов и не будет указан в netstat.
Если машина доступна через сеть, но на ней не запущен веб-сервер, она будет отвечать на пинги, но не будет отвечать на подключения из браузера.
Ваш netstat показывает, что у вас нет ничем прослушиваемого на порту 80 или 443.
Как показывает ваш собственный ответ, вам нужно было установить программное обеспечение, которое выполняет функции веб-сервера. (Я бы предположил, что если вы устанавливаете стороннее программное обеспечение с веб-интерфейсом, оно, вероятно, будет прослушивать нестандартные высокие порты, в этом случае вам действительно нужно будет перейти по адресу http://127.0.0.1:8888, где 8888 — это номер некоторых высоких пользовательских портов)
Ответ или решение
Вопрос, который вы подняли, касается доступа к локальному хосту (127.0.0.1) через веб-браузеры, такие как Chrome и Firefox, в то время как команды, выполняемые в терминале, работают корректно. Давайте разберем ситуацию более детально.
Основные причины проблемы
-
Разные протоколы: Как вы уже заметили, браузеры используют протоколы HTTP и HTTPS для управления соединениями. В то время как ping использует протокол ICMP (Internet Control Message Protocol), не привязанный к портам. Это объясняет, почему вы можете успешно пинговать 127.0.0.1, но браузер не может соединиться.
-
Отсутствие работающего веб-сервера: Для того чтобы браузер мог установить соединение с 127.0.0.1, на этой машине должен функционировать веб-сервер, который слушает на портах 80 (HTTP) или 443 (HTTPS). В вашем выводе команды
netstat
видно, что на портах 80 и 443 ничего не слушает, вплоть до установленного вами ПО. -
Слушающие порты: В вашем выводе мы видим несколько приложений, которые прослушивают порты, но ни одно из них не использует стандартные HTTP/HTTPS порты. Это означает, что для доступа к ресурсам на 127.0.0.1 вам нужно будет указать порт в адресе браузера (например, http://127.0.0.1:8084, если это подходит для вашего приложения).
Решение проблемы
Ваше самоответственное уточнение указывает на то, что проблема была связана с расширением для Chrome — Zotero Connector, которое не могло подключиться без установленного настольного приложения Zotero. Вот несколько шагов, которые могут помочь избежать подобных проблем в будущем:
-
Установка необходимых приложений: Убедитесь, что дополнения или плагины, которые вы планируете использовать, имеют соответствующее серверное программное обеспечение. Всегда проверяйте документацию к этим продуктам.
-
Проверка работу веб-сервера: Если вы планируете разрабатывать или тестировать собственные веб-приложения, позаботьтесь о том, чтобы веб-сервер (например, Apache, Nginx или встроенный сервер в других языках программирования) был настроен и запущен.
-
Проверка открытых портов: Используйте команду
netstat
или аналогичные утилиты (такие какss
), чтобы увидеть, какие порты открыты и какие приложения их используют. Это поможет вам понять, к каким ресурсам вы можете получить доступ. -
Использование консоли разработчика: В браузерах есть инструменты для разработчиков, которые могут помочь вам диагностировать ошибки сети и понять, почему соединение не устанавливается.
Заключение
Проблема с отсутствием доступа к локальному хосту через браузер на Ubuntu 19.10 заключается в отсутствии работающего веб-сервера, в отличие от пинга, который может успешно выполнять ICMP-запросы. Установив необходимое программное обеспечение и следуя описанным рекомендациям, вы сможете избежать подобных ситуаций в будущем.