Как зайти на локальный сайт с другого компьютера
Перейти к содержимому

Как зайти на локальный сайт с другого компьютера

  • автор:

Форум

Сразу к делу!
версия Open Server 4.7.6
Прочитал мануал от корки до корки к текущей версии, перечитал все темы на данном форуме касающиеся моей проблемы. Ответа нет, тем масса, ответ всегда один -> мануал.

Так же прошу заметить, глубоких познаний в конфигурации сервера у меня нет, опираюсь на мануал «Open Server 4.7.6» и знания полученные при работе с «Denver(ом)»

Описание задачи:
Необходимо настроить доступ в локальной сети к домену(сайту), назовем его «local.mysite.ru»

Решение задачи:
идем в мануал: Работа с программой -> Внешний доступ
находим там строку:

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

Так как статичный IP моего компьютера «192.168.1.33» мы его и прописываем..

далее нажимаем кнопку «Сохранить», «Open Server» просит перезапустить сервер, нажимаем «Ок».

Проблема 1
Сервер не запускается, идем в логи и видим:

Логично понять куда идти дальше, идем в мануал:
Другие материалы -> Решение проблем
Перебираем все возможные варианты решения проблемы, их 10, но не один из вариантов не подходит.
Идем за ответом на форум, перебрав кучу страниц находим
решение «Проблемы 1» :
Нужно папку «localhost» находящуюся в «D:\OpenServer_4.7.6\domains\localhost», переименовать например в «mylocalhost». Далее делаем «рестарт сервера», сервер запущен!
Прошу добавить данный аспект в мануал
—————————————————————————————

Далее необходимо как-то достукиваться до нашего домена «local.mysite.ru» с других устройств в локальной сети.

идем в мануал:
Работа с программой -> Внешний доступ

находим там строку:

Чтобы открыть нужный сайт с удалённой машины потребуется внести в HOSTS файл такого компьютера запись с адресом вашего локального домена, например: 64.55.96.24 supersite (где 64.55.96.24 это адрес вашего компьютера, а supersite это имя локального домена).

Идем на другой компьютер находящийся в текущей локальной сети, там открываем файл «hosts» находящийся по адресу: «C:\windows\system32\drivers\etc\»
В файле «hosts» прописываем строку «192.168.1.33 local.mysite.ru», делее идем в браузер.
Если набираем в адресной строке браузера «local.mysite.ru» видим наш сайт!
Если обращаемся по IP «http://192.168.1.33» к локальному компьютеру, то всегда получаем:

Проблема 2
CMS не может подключиться к базе MySQL, эта проблема наблюдается после того как прописать в настройках сервера локальный IP адрес компьютера где стоит «Open Server 4.7.6»
Решение?

Проблема 3
Как я могу достучаться до сайта «local.mysite.ru» находящегося в локальной сети, например с планшета под управлением «Android» или «iOS»?
Работая с «Denver(ом)», достаточно было на любом устройстве, находящемся в локальной сети, ввести «http://192.168.1.33/local.mysite.ru». (это как рабочий пример).
Решение?

P. S. Пишу максимально развернуто, для общего понимания моих действий.

Статья Делаем локальный сайт (на localhost) доступным для других компьютеров

Эта статья для тех, у кого есть сайт на локальном сервере и кто хочет сделать его доступным с других компьютеров. Кстати, если у вас ещё нет локального сервера, то вы с лёгкостью его поставите по этой инструкции. Подразумевается, что ваш сервер установлен по указанной инструкции, если это не так, то файлы могут находится в других директориях.

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

Разница в вероятностях (всегда-иногда) заключается в вашем IP. Если он статический, то всё делается довольно легко. Как делать локальный сервер при динамическом IP в этой статье не описывается.

Внутри своей квартиры вы сами задаёте политику присвоения адресов — например, Wi-Fi роутер может раздавать устройствам произвольные, динамические IP адреса; и можно настроить роутер и устройства так, что всем им будут присвоены определённые статические адреса.

Домашние локальные сети, как правило, организовываются региональными провайдерами. Внутри этих сетей все пользователи, обычно, имеют два IP: один — локальный (статический, который пользователь вписывает при настройки комьпютера или сетевого оборудования) второй — динамический который присваивается при доступе в Интернет.

Локальные адреса, в основном, имеют такой вид (вместо нулей должны быть другие цифры):

172.16.0.0 192.168.0.0

Открываем файл C:ServerbinApache24confhttpd.conf и ищем там строчку

Listen 127.0.0.1:80

Нам нужно заменить IP адрес на свой, например, мой локальный IP адрес 192.168.43.90, следовательно, я пишу:

Listen 192.168.43.90:80

Как вариант, можно сделать вот так:

Listen *:80

Сохраняем файл и перезапускаем сервер. На самом деле — всё!

Пробуем доступ к серверу набрав в строке браузера свой IP (я набираю http://192.168.43.90/ ), как и следовало ожидать — доступа нет, но причина очевидна: файервол. Его нужно настроить должным образом, но для нашего тестирования я его просто отключаю.

28467

Теперь всё впорядке и ваш сайт доступен по адресу http://192.168.43.90/ с любого устройства, находящегося в вашей домашней или городской сети. На следующем скриншоте, я зашёл на локальный сервер с телефона:

28468

24 часа в сутки

Если у вас статичный IP для интернет соединений (у некоторых Интернет провайдеров можно подключить эту услугу за отдельные деньги), то вы можете сделать из своего компьютера самый настоящий хостинг-сервер! Понятное дело, что компьютер должен быть включен 24 часа в сутки, иначе на ваш сайт невозможно будет попасть.

Внутри локальной (домашней) сети вы можете придумать имя своему сайту и попросить ваших друзей и всех тех, кто будет заходить на него внести изменения в файл
C:WindowsSystem32Driversetchosts
Каждому из них нужно будет добавить туда строчку:
ваш_IP ваш_сайт
например
192.168.43.90 alexblog.local
После этого набирая в адресной строке браузера http://alexblog.local они будут попадать на ваш сайт.

Зачем все эти сложности?

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

Ссылка скрыта от гостей

Более того, открывая доступ к своему localhost нужно подумать о безопасности. В данной статье я этот вопрос не затрагиваю, но могу вас заверить, что Apache, запущенный от имени администратора (а именно так он у большинства на локахосте и запущен), через скрипты PHP (или уязвимости в них), может «путешествовать» по каталогам дисков. Т.е., по крайне мере теоретически, злоумышленник через уязвимости в вашем сайте может скачать файлы с вашего компьютера или удалить файлы, например, в директории Windows. Если заботиться о безопасности локального сервера является слишком сложным занятием для вас, то ответ очевиден — хостинг.

Ссылка скрыта от гостей

, которые бывают на хостингах и самая низкая цена!

Хотите узнать, как заполучить короткий и красивый адрес электронной почты (e-mail)? или как выбрать качественный хостинг? Всё это и многое другое на сайте codeby.net. Подписывайтесь на нашу e-mail рассылку (внизу страницы) или на ленту новостей и вы узнаете первым о новых статьях! Также вступайте в нашу официальную группу вконтакте — там вам очень рады!

Как подключиться к локальному серверу с другого компьютера внутри одной сети wifi?

Хочу подключиться с других устройств к локальному серверу. В этих вопросах полный нуб, не знаю что искать.
1) Могу я для этого использовать локальный сервер на flask (app.run()) или django runserver, или же их недостаточно и нужны Apache/Nginx и тд.
2) Что мне для этого нужно сделать?
Windows 7, ip у роутера динамический

  • Вопрос задан более трёх лет назад
  • 9022 просмотра

Комментировать
Решения вопроса 1

paran0id

Умный, но ленивый

1. Да, можете. Nginx или apache необязательны в этом случае.
2. Нужно запустить сервер, чтобы он слушал ip-адрес машины в локальной сети (как правило, 192.168.x.x), либо 0.0.0.0 (вообще все адреса). С другой машины обратиться на адрес первой, на тот порт, на котором было запущено приложение. Например, http://192.168.x.x:8080. При этом на первой машине фаерволл (брандмауэр) должен разрешать входящие соедниения на этот порт, либо должен быть отключен вовсе. Если адреса динамические, и реально меняются от раза к разу (обычно всё же роутер запоминает, кому какой адрес выдается), то нужно либо на первой машине прописать адрес статически, не из диапазона DHCP, либо на роутере в настройках DHCP указать адрес, выдающийся первой машине.

Ответ написан более трёх лет назад
Нравится 1 2 комментария
mefisto661 @mefisto661 Автор вопроса

Большое спасибо за ответ. Я хочу протестировать работу функции получения ip посетителя, но когда сам захожу с локального сервера — ожидаемо получаю 127.0.0.1. Если у меня получится реализовать ваш совет, ip адрес машин, подключающихся к серверу локально, будет отображаться корректно?

paran0id

mefisto661, да, конечно
Ответы на вопрос 0
Ваш ответ на вопрос

Войдите, чтобы написать ответ

flask

  • Flask

Почему возникает ошибка «работа вне контекста приложения»?

  • 1 подписчик
  • 01 мая
  • 19 просмотров

Как можно посмотреть локальный сайт на моем компе через телефон?

Создаю сайт, требуется посмотреть как выглядит сайт на телефоне, можно ли как то это реализовать, без использования хостинга ?
Через Wi-Fi роутер или еще как то.

  • Вопрос задан более трёх лет назад
  • 27175 просмотров

Комментировать
Решения вопроса 1

boratsagdiev

Alexander @boratsagdiev

UPD: в 2023 году я бы всё же использовал ngrok.

Запускаем локальный сервер (у меня Openserver), открываем консоль в локальной папке, где лежит ваш сайт и запускаем в ней browser-sync с опцией —proxy

browser-sync start —proxy mylocal.dev

browser-sync выдаст в консоль что-то такое:

[BS] Proxying: http://local.dev.domain [BS] Access URLs: ------------------------------------ Local: http://localhost:3002 External: http://192.168.1.6:3002 ------------------------------------ UI: http://localhost:3003 UI External: http://192.168.1.6:3003 ------------------------------------

Вам нужен тот что External — http://192.168.1.6:3002 , вбиваете его на телефоне и смотрите (естественно телефон должен быть подключен к той же сети, куда подключен и ПК).
Вот только что проверил с сайтом на WordPress — работает.

Ответ написан более трёх лет назад
Комментировать
Нравится 10 Комментировать
Ответы на вопрос 4
Stalker_RED @Stalker_RED

Поднимаете вебсервер на компьютере, настраиваете чтобы он слушал запросы из локальной сети, с телефона подключаетесь к нему.

Ответ написан более трёх лет назад
Дмитрий Аствафьев @astafevdimka Автор вопроса
это типа через openserver или denver и настроить как то нужно ?
Stalker_RED @Stalker_RED

Дмитрий Аствафьев, типа того. Честно говоря никогда не пользовался openserver’ом, и denwer лет 10 не запускал. Вполне вероятно, что ваш сервер по умолчанию слушает только запросы с localhost, нужно будет поменять что там в listen прописано и дать соответствующие разрешения в фаерволле, если он есть.

Дмитрий Аствафьев @astafevdimka Автор вопроса
Stalker_RED, все равно ничего не понял =(
Stalker_RED @Stalker_RED
Дмитрий Аствафьев, начнем с основ. У вас вообще есть вебсервер?
Дмитрий Аствафьев @astafevdimka Автор вопроса

Зайди в настройки роутера и узнай ip мобилы и локального компа

Если ОС — винда и работает денвер на 127.0.0.1:80 я бы попробовал вот что:

Узнал ip компа, выданные dhcp сервером, в данном случае роутером.
К примеру ip компа 192.168.0.100

Мобиле выдается ip из той же сетки, к примеру 192.168.0.101 — это не принципиально.

На винде открываешь консоль от админа и вводишь туда вот это:
netsh interface portproxy add v4tov4 listenaddress=192.168.0.100 listenport=80 connectaddress=127.0.0.1 connectport=80

После этого на мобиле в браузере вводишь 192.168.0.100 и должен открыться сайт.

По крайней мере тут ничего лишнего качать не нужно

ProTreo, спасибо за инструкцию.
В моём случае ещё потребовалось дополнительно создать правило для входящего подключения (тип — для порта) в Мониторе брандмауэра Защитника Windows

BraveHeart

Alexandr Alexandrov @BraveHeart

  • https://localtunnel.github.io/www/
  • https://mobile1st.com/local-testing/
  • https://ngrok.com/download
  • www.mobitechie.com/android-2/how-to-access-localho.
  • https://www.genymotion.com/fun-zone/
  • https://developer.android.com/studio/run/emulator-.

Ответ написан более трёх лет назад
Дмитрий Аствафьев @astafevdimka Автор вопроса

А на ios нет, не пойдет это: ?

Можете настроить через вифи:
www.mobitechie.com/android-2/how-to-access-localho.

BraveHeart

Alexandr Alexandrov @BraveHeart

  • https://stackoverflow.com/a/3132120/7124221
  • https://stackoverflow.com/questions/12657651/conne.

megafax

web-программист

Если у Вас организована сеть дома/в офисе через wifi-роутер, то телефон и компьютер находятся в одной подсети. Соответственно, чтобы «зайти» с телефона на разрабатываемый сайт и его проверить нужно понять как у Вас он поднят на компьютере.
Если у Вас сайт поднимается по адресу 192.168.1.2:8000 — т.е. по IP+порт, то можете этот же адрес спокойно вбивать в смарт и открыть желанный сайт. 192.168.1.2 — в данном случае это IP адрес компьютера, который выдал роутер для него.
Если у Вас Denwer/OpenServer и сайт поднимается по доменному имени (mysite.local, site.localdomain, etc), то телефону нужно сказать, что при открытии такого URL он стучался куда надо. Для этого, если у Вас на роутере есть возможность вбить статические IP адреса для DNS — то вбиваете туда домен и указываете адрес локальной машины. Если такой возможности нет, то можно для Вашего мобильного устройства скачать приложение локального DNS сервиса (android) и в нем уже указать тотде домен и IP, что и для метода с роутером.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *