Windows 10/Apache/LAN, как получить доступ к веб-сайтам, размещенным на другом локальном компьютере?

Windows 10/Apache/LAN, как получить доступ к веб-сайтам, размещенным на другом локальном компьютере?

Я хочу получить доступ к своим локальным веб-сайтам по разработке, размещенным на другом локальном компьютере в моей домашней сети.

Я пробовал использоватьhttp://192.168.1.nnи http://localhost в браузере, но ни один из них не найден (мой серверный компьютер имеет статический IP-адрес 192.168.1.nn).

Когда я работаю на компьютере nn, у меня нет проблем с доступом к localhost и его веб-сайтам.

Я пытался использовать параметры Windows, чтобы разрешить неаутентифицированный доступ к компьютеру nn (в брандмауэре Defender, а также в Malwarebytes > Параметры > Список разрешенных > Добавить > 192.168.1.nn). Я пытался использовать правило переадресации портов в маршрутизаторе, чтобы перенаправить порт mm на компьютер nn (и используя адрес http://localhost:mm илиhttp://192.168.1.nn:mm). Я попробовал добавить эту строку в файл Hosts:

192.168.1.nn локальный хост

Я не очень хорошо разбираюсь во внутренних принципах работы сетей. Я хочу создать LAN-LAN Web-соединение на одном из моих компьютеров с другим,не предоставляя внешнему миру (WAN) доступ к чему-либов моей сети. Я надеюсь получить помощь с ответами, которые были проверены, поэтому они работают без лишних вопросов и ответов.

решение1

Поскольку вы, по-видимому, не хотите предоставлять дополнительную информацию по соображениям безопасности, вот несколько общих мыслей и комментариев о том, на что вы, возможно, захотите обратить внимание, чтобы решить эту проблему:

Сторонние приложения

  • Отключите все брандмауэры или антивирусное сканирование во время тестирования. Сторонние приложения или оборудование могут влиять на связь между двумя компьютерами, выходя за рамки установленных вами правил.

  • Если вы используете виртуальную машину для своего сервера, вам может потребоваться выполнить дополнительную настройку самой виртуальной машины (в дополнение к настройкам хоста), чтобы разрешить к ней доступ.

  • Программное обеспечение виртуальной машины может иметь опцию для виртуальных сетевых адаптеров "host-only", которые никогда не считаются частью локальной сети. Убедитесь, что вы не пытаетесь получить удаленный доступ через IP, назначенный какому-либо сетевому адаптеру "host-only" (если он есть).

  • Для доступа к виртуальным машинам может потребоваться переадресация портов (через программное обеспечение виртуальной машины), если на них не используется мостовой адаптер.

  • Если вы используете WSL, вам может потребоваться обновить его или Windows в целом.

Локальная сеть

  • Убедитесь, что компьютеры находятся в одной локальной сети. Проверьте сетевую маску на всех маршрутизаторах. Обычно они должны быть одинаковыми. Также проверьте, что все сетевые DHCP-серверы (опять же, скорее всего, на вашем маршрутизаторе и т. д.) выдают те же диапазоны локальных адресов всем устройствам, которые вы хотите подключить.

  • Предположим, что маска сети, например 255.255.255.0, если ваш сервер имеет адрес например, http://192.168.1.nnи компьютер, который вы используете для доступа к серверу, имеет адрес например http://192.168.2.nn, они не находятся в одной локальной сети.

  • Если у вас нет специальной настройки сети, которую вы не указали, переадресация портов на вашем маршрутизаторе не нужна для базовой связи между устройствами в одной сети.

  • Если вы пытаетесь использовать мобильное устройство для доступа к серверу из локальной сети, убедитесь, что вы используете Wi-Fi, а не тарифный план вашего оператора (так как это будет полезно только для тестирования доступа к WAN).

  • В общем случае следует использовать только локальные адреса, назначенные вашим маршрутизатором (т. е. не любые IP-адреса, назначенные вашим интернет-провайдером).

  • В целом, использование более одного маршрутизатора, использование точек доступа Wi-Fi или использование «продвинутого» сетевого оборудования (например, оборудования ячеистых сетей) может (теоретически) вызвать проблемы.

Имена хостов

  • Файл hostsприменяется только к компьютеру, на котором он присутствует. Таким образом, hostsфайл на сервере не позволит другим компьютерам в локальной сети разрешать любые указанные им имена хостов. Файл hostsна компьютере, пытающемся получить доступ, будет тем, который нуждается в изменении.

  • localhostне является произвольным именем. Оно почти всегда ссылаетсятолькона локальный компьютер. Это означает, что его обычно нельзя использовать для ссылки на удаленный сервер (т. е. тот, который не находится на том же компьютере). Обратите внимание, что это может применяться и к виртуальным машинам.

  • Изменение localhostвозможно hosts, но может быть проигнорировано браузерами, которые вместо этого просто вернут локальный адрес обратной связи ( ex. 127.0.0.1), недоступный удаленно.

  • При использовании Linux (например, Raspberry Pi или WSL) могут потребоваться дополнительные действия по настройке резолвера, которые вам, возможно, придется выполнить в дополнение к редактированию файла hosts.

  • Для базового тестирования вам, скорее всего, придется продолжать использовать IP-адреса и избегать имен хостов любого типа, чтобы ограничить проблемы с подключением к самому серверу, а не к конкретному имени хоста.

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

  • У вас должны быть hostsзаписи или записи DNS, указывающие на ваш сервер для любых имен хостов, с помощью которых вы хотите получить доступ к этому серверу.

Апачи

  • Убедитесь, что Apache запущен на удаленном сервере.

  • Хотя это и не помешает Apache отвечать, если у Apache нет виртуального хоста для заданного имени хоста, он может вернуть либо веб-страницу по умолчанию, либо страницу с ошибкой.

  • Конфигурация вашего сервера Apache или его виртуальных хостов может запретить вам доступ с другого компьютера, поэтому дважды проверьте, нет ли директив, ограничивающих доступ к вашему серверу. Настройки для любых Requireдиректив — хорошее место для начала (значение для этих директив обычно должно быть all granted).

  • Несоответствия или ошибки в ваших настройках ServerRootи DocumentRoot(а также любых DocumentRootнастройках каталога) в httpd.confи/или любых DocumentRootнастройках /directory на данном виртуальном хосте могут вызывать 403 Forbiddenответы.

  • Использование .htaccessфайлов может ограничить доступ к серверу в зависимости от настроек в файлах.

  • Убедитесь, что все listenдирективы (например, в httpd.conf) установлены на что-то вроде listen 80and/or, listen 443а не напр. listen 127.0.0.1:80or listen 127.0.0.1:443. Второй тип директивы привязывает Apache к прослушиванию только 127.0.0.1/ localhostи он будет отклонять запросы с любого компьютера, который не является самим сервером.

  • Если вы настроили Apache на listenпорты, отличные от 80 или 443 (порты HTTP/HTTPS по умолчанию), вам необходимо включить этот порт в IP-адрес или имя хоста (например, 192.168.1.nn:8080или local-example:80).

  • Для внесения любых изменений в Apache необходимо перезапустить Apache, чтобы эти изменения вступили в силу.

  • В Linux, в системах на базе Debian/Ubuntu, вам может потребоваться создать символические ссылки из любых файлов в вашей sites-availableпапке на вашу sites-enabledпапку перед перезапуском, чтобы они были доступны.

Связанный контент