Я вижу один и тот же URL-адрес, localhost
когда удаленный сервер не работает, а когда 127.0.0.1
работает, или наоборот.
Мне нужна разница между четырьмя формами индикатора сервера в URL-адресе:
- локальный хост
- 17.0.0.1
- Имя компьютера
- ip
для примера Apache ActiveMQ
URL-адрес веб-консоли может отображаться в моем компьютере в следующих формах:
(Извините, если я использую неправильную терминологию или грамматику, я изучаю английский язык.)
решение1
Все дело в разрешении адресов.
Обычно,http://localhost:8161будет иметь доступhttp://127.0.0.1:8161. Когда вы делаете запрос к localhost, перед выполнением запроса DNS ваша ОС просматривает файл HOSTS (/etc/hosts в Linux) и видит там правило, которое гласит, что localhost сопоставляется с 127.0.0.1.
Иногда localhost сопоставлен с другим IP, например 127.0.1.1. Это может привести к сбою между localhost и 127.0.0.1. (например, ваша служба настроена на прослушивание localhost, сопоставленного с 127.0.1.1, а вы пытаетесь получить доступ к 127.0.0.1).
Если вы используете имя хоста, ваша ОС может пойти дальше по сетевому стеку и даже сделать DNS-запрос, чтобы обнаружить IP-адрес хоста, а затем попытаться получить доступ к этому URL-адресу.
При использовании IP-адреса ваш SO попытается получить доступ к этому URL-адресу, используя указанный IP-адрес.
решение2
Не совсем уверен, что понял вопрос, но вам интересно, в чем разница между этими четырьмя URL-адресами?
Если это так:
127.0.0.1 (IP-адрес обратной связи для локальной машины) localhost (преобразуется в адрес 127.0.0.1)
^ два вышеперечисленных пункта недоступны с другого оборудования в вашей сети (другие рабочие станции++)
mjm и 192.168.20.92 — это в данном случае два способа подключения к одному и тому же компьютеру, доступные «извне».
Если вы хотите подключиться к Apache ActiveMQ с другой рабочей станции, то вам подойдет имя компьютера или IP-адрес 192.*.