Решение проблем с доступом к локальному хосту через локальную сеть - PullRequest
2 голосов
/ 04 января 2012

У меня есть два компьютера с IP-адресами 192.168.1.1 и 192.168.1.2 соответственно.На обоих компьютерах установлены серверы Apache, и оба слушают порт 8080, а не 80. Я подключил оба компьютера через локальную сеть, и мне удалось проверить связь друг с другом.Однако я не могу получить доступ к localhost одного компьютера на другом.

Какие обязательные параметры следует изменить ??

Ответы [ 4 ]

4 голосов
/ 04 января 2012

IP-адрес 127.0.0.1 - это специальный петлевой адрес, обычно известный как localhost.Это всегда относится к машине, на которой вы сейчас находитесь.Рекомендуется не использовать сетевой блок 127.0.0.0/8 для адресации чего-либо, кроме локальной машины.

ЛВС, которую вы описываете, также имеет 192.186.1.1 и 192.186.1.2, связанные с каждой машиной соответственно.Используйте это для связи с каждой машиной.например, из 192.186.1.1 введите http://192.186.1.2:8080/ для просмотра другого компьютера.

При использовании имен, таких как "localhost", ваш файл Hosts используется для преобразования имени вIP-адрес, возвращающийся к DNS.В большинстве систем это поведение также может быть изменено.

Выше предполагается, что у вас нет брандмауэров или специальной маршрутизации.

3 голосов
/ 04 января 2012

localhost используется для доступа к тому же компьютеру только из самого себя. localhost всегда разрешает локальный ip 127.0.0.1

Для доступа к одному компьютеру с другого необходимо использовать IP-адрес, например 192.16.8.1.1 или 192.168.1.2

2 голосов
/ 04 января 2012

localhost - псевдоним для локального адреса 127.0.0.1; это всегда означает «этот локальный хост прямо здесь», так что это ожидаемое поведение.

Вы можете получить к ним доступ либо по их IP-адресам, либо добавить имя хоста друг другу в файл hosts, либо настроить небольшой DNS-сервер.

0 голосов
/ 04 января 2012

Если вы находитесь на компьютере 192.168.1.1 и пытаетесь подключиться к порту 8080 на 192.168.1.2, где пинг 192.168.1.2 работает, но открытие http://192.168.1.2:8080/ не, попробуйте:

telnet 192.168.1.2 8080

Он не должен отвечать отказом в соединении, но вместо этого Подключиться к: ... . Оттуда введите:

GET /

Если я сделаю это для telnet www.google.com 80 , введите:

Trying 173.194.67.105...
Connected to www.l.google.com.
Escape character is '^]'.
GET /
HTTP/1.0 302 Found
Location: http://www.google.co.uk/
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Set-Cookie: PREF=ID=562c9df87033be9d:FF=0:TM=1325703914:LM=1325703914:S=eV6aBcXk3LTKVwxB; expires=Fri, 03-Jan-2014 19:05:14 GMT; path=/; domain=.google.com
Date: Wed, 04 Jan 2012 19:05:14 GMT
Server: gws
Content-Length: 221
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN

<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.co.uk/">here</A>.
</BODY></HTML>
Connection closed by foreign host.

В противном случае вы можете предоставить:

  • Операционная система обеих машин
  • Ошибка, которую вы получаете в каком браузере при попытке веб-адрес
  • Полный вывод для telnet www.google.com 80 и telnet 192.168.1.2 8080 , как указано выше.
...