Почему другие компьютеры не могут получить доступ к моему веб-серверу на 127.0.0.1 ? [закрыто]

Я пытаюсь настроить виртуальный хост на машине в моем офисе Я добавил

127.0.0.1 urs.local

в файл хостов,

и добавил это в конфигурацию

NameVirtualHost 127.0.0.1:80

<VirtualHost 127.0.0.1:80>
ServerName localhost 
</VirtualHost> 

<VirtualHost 127.0.0.1:80>
DocumentRoot "/Applications/MAMP/htdocs" 
ServerName urs.local
</VirtualHost>

на той же машине Я помещаю urs.local в адресную строку браузера, и он работает.

Но затем я перехожу к другому компьютеру в той же сети, за тем же брандмауэром, и получаю «страницу проблемы с загрузкой».

Я думаю, что где-то что-то не хватает.

-3
задан 9 May 2012 в 00:36
3 ответа

Я не думаю, что это было правильно описано здесь, так что вот оно.

127.0.0.1 - это адрес обратной связи . Он существует во всех современных компьютерных системах. Любой трафик, отправленный из интерфейса с адресом 127.0.0.1, немедленно принимается через интерфейс обратной связи той же машины. Этот трафик никогда не достигает сети.

Поскольку вы слушаете только в интерфейсе обратной связи, то единственная машина, которая может когда-либо получить доступ к вашему сайту, - это тот, на котором он размещен. Когда другие компьютеры пытаются подключиться к 127.0.0.1, они пытаются подключиться к себе. Вы видите, в чем проблема, я так понимаю?


Идея, вероятно, лучше всего иллюстрируется этим рисунком:

Awesome Point Diagram


Чтобы решить вашу настоящую проблему, вам нужно сделать две вещи.

  1. Прослушайте адрес, с которым другие компьютеры могут связаться. У вас нормальный IP какой то. Используйте его вместо 127.0.0.1.
  2. Если вы должны использовать именованный виртуальный хост (не обязательно), тогда вам нужно будет либо добавить запись в файл hosts каждого компьютера, связывающегося с вашим компьютером, или вам нужно будет добавить DNS-запись на локальном DNS-сервере (ах) для urs.local с доступным IP-адресом. Если вам нужно сделать это более чем на одной или двух машинах, используйте DNS. Это правильный путь ™

tl; dr 127.0.0.1 находится на интерфейсе, трафик которого никогда не покидает машину, к которой он подключен. Он существует во всех современных реализациях стека TCP / IP. Если указать другим машинам подключиться к 127.0.0.1, они попытаются подключиться к себе, а не к вашей машине.

У вас нормальный IP какой то. Используйте его вместо 127.0.0.1.
  • Если вы должны использовать именованный виртуальный хост (не обязательно), тогда вам нужно будет либо добавить запись в файл hosts каждого компьютера, связывающегося с вашим компьютером, или вам нужно будет добавить запись DNS на локальном сервере (ах) DNS для urs.local с доступным IP-адресом. Если вам нужно сделать это более чем на одной или двух машинах, используйте DNS. Это правильный путь ™

  • tl; dr 127.0.0.1 находится на интерфейсе, трафик которого никогда не покидает машину, к которой он подключен. Он существует во всех современных реализациях стека TCP / IP. Если указать другим машинам подключиться к 127.0.0.1, они будут пытаться подключиться к себе, а не к вашей машине.

    У вас нормальный IP какой то. Используйте его вместо 127.0.0.1.
  • Если вы должны использовать именованный виртуальный хост (не обязательно), тогда вам нужно будет либо добавить запись в файл hosts каждого компьютера, связывающегося с вашим компьютером, или вам нужно будет добавить запись DNS на локальном сервере (ах) DNS для urs.local с доступным IP-адресом. Если вам нужно сделать это более чем на одной или двух машинах, используйте DNS. Это правильный путь ™

  • tl; dr 127.0.0.1 находится на интерфейсе, трафик которого никогда не покидает машину, к которой он подключен. Он существует во всех современных реализациях стека TCP / IP. Если указать другим машинам подключиться к 127.0.0.1, они будут пытаться подключиться к себе, а не к вашей машине.

  • Если вы должны использовать именованный виртуальный хост (не обязательно), то вам нужно будет либо добавить запись в файл hosts каждого компьютера, связывающегося с вашим компьютером, либо вам нужно будет добавить запись DNS. на вашем локальном DNS-сервере (ах) для urs.local с доступным IP-адресом. Если вам нужно сделать это более чем на одной или двух машинах, используйте DNS. Это правильный путь ™

  • tl; dr 127.0.0.1 находится на интерфейсе, трафик которого никогда не покидает машину, к которой он подключен. Он существует во всех современных реализациях стека TCP / IP. Если указать другим машинам подключиться к 127.0.0.1, они будут пытаться подключиться к себе, а не к вашей машине.

  • Если вы должны использовать именованный виртуальный хост (не обязательно), то вам нужно будет либо добавить запись в файл hosts каждого компьютера, связывающегося с вашим компьютером, либо вам нужно будет добавить запись DNS. на вашем локальном DNS-сервере (ах) для urs.local с доступным IP-адресом. Если вам нужно сделать это более чем на одной или двух машинах, используйте DNS. Это правильный путь ™

  • tl; dr 127.0.0.1 находится на интерфейсе, трафик которого никогда не покидает машину, к которой он подключен. Он существует во всех современных реализациях стека TCP / IP. Если указать другим машинам подключиться к 127.0.0.1, они будут пытаться подключиться к себе, а не к вашей машине.

    тогда вам нужно будет либо добавить запись в файл hosts каждого компьютера, связывающегося с вашим компьютером, либо вам нужно будет добавить запись DNS на локальном сервере (ах) DNS для urs.local с IP-адресом. это достижимо. Если вам нужно сделать это более чем на одной или двух машинах, используйте DNS. Это правильный путь ™

    tl; dr 127.0.0.1 находится на интерфейсе, трафик которого никогда не покидает машину, к которой он подключен. Он существует во всех современных реализациях стека TCP / IP. Если указать другим машинам подключиться к 127.0.0.1, они попытаются подключиться к себе, а не к вашей машине.

    тогда вам нужно будет либо добавить запись в файл hosts каждого компьютера, связывающегося с вашим компьютером, либо вам нужно будет добавить запись DNS на локальном сервере (ах) DNS для urs.local с IP-адресом. это достижимо. Если вам нужно сделать это более чем на одной или двух машинах, используйте DNS. Это правильный путь ™

    tl; dr 127.0.0.1 находится на интерфейсе, трафик которого никогда не покидает машину, к которой он подключен. Он существует во всех современных реализациях стека TCP / IP. Если указать другим машинам подключиться к 127.0.0.1, они попытаются подключиться к себе, а не к вашей машине.

    s the right way ™

    tl; dr 127.0.0.1 находится на интерфейсе, трафик которого никогда не покидает машину, к которой он подключен. Он существует во всех современных реализациях стека TCP / IP. Если указать другим машинам подключиться к 127.0.0.1, они будут пытаться подключиться к себе, а не к вашей машине.

    s the right way ™

    tl; dr 127.0.0.1 находится на интерфейсе, трафик которого никогда не покидает машину, к которой он подключен. Он существует во всех современных реализациях стека TCP / IP. Если указать другим машинам подключиться к 127.0.0.1, они попытаются подключиться к себе, а не к вашей машине.

    21
    ответ дан 5 December 2019 в 21:48

    Какой именно URL-адрес вы используете на других машинах? 127.0.0.1 - это localhost. Он никогда не будет доступен с удаленных компьютеров, он указывает только на локальный компьютер. Итак, чтобы получить доступ к вашему сайту на этом сервере с других компьютеров, вы должны сделать две вещи:

    1. Измените vhost, чтобы он не слушал только 127.0.0.1
    2. Выберите имя сервера, которое не является «localhost» (например, hostname)
    3. Направьте браузеры удаленных машин на это имя сервера
    4
    ответ дан 5 December 2019 в 21:48

    Ага - У этого будут проблемы по ряду причин:

    1) 127.0.0.x по сути относится к самой системе. Таким образом, даже если вы обновили файлы хоста вручную в других системах, они не найдут путь к нужному серверу.

    2) 127.0.0.x не прослушивает внешние подключения.

    Я согласен с тем, что ваши виртуальные хосты должны прослушивать доступный в сети IP. Как только это будет сделано, вы, вероятно, сможете использовать DNS, чтобы направить рабочие станции в нужное место.

    3
    ответ дан 5 December 2019 в 21:48

    Теги

    Похожие вопросы