Я только что создал домашнюю сеть Wi-Fi. У меня есть все мои файлы на моем настольном компьютере (192.168.1.56) и вы хотите получить доступ к локальному хосту там с другого компьютера (192.168.1.2).
На моем рабочем столе я могу получить доступ к localhost через обычный http://localhost. Apache работает на порту 80, как обычно.
Что я должен сделать, чтобы добиться этого? В сети есть документация, но они либо не работают, либо слишком фрагментированы и запутываются, чтобы понять.
Я думаю, что мне нужно внести изменения в файл apache httpd.conf и файл hosts. Любые идеи относительно того, какие изменения вносить?
Локальный хост – это просто имя, указанное для петлевого цикла, например, это похоже на себя как “я”.
Чтобы просмотреть его с других компьютеров, скорее всего, нужно http://192.168.1.56 или http://myPcsName, если это не работает, есть вероятность, что на вашем компьютере установлен брандмауэр, или httpd.conf только прослушивает 127.0.0.1
Спасибо за подробное объяснение.
Только для разработки, в Windows, перейдите в Панель управления → Брандмауэр, в исключениях добавьте http и порт 80. Затем в разделе “Сервис” отметьте “http (порт веб-сервера 80)” и “https (порт веб-сервера 443)” ТОЛЬКО, если вам также нужно https. Хорошо, ОК, Закрыть
Затем перейдите на любой компьютер в сети и введите http://computer-name (где вы меняете брандмауэр и на нем работает xampp) в вашем веб-браузер и счастливые дни:)
это очень легко
- Перейти на панель управления XAMPP
- Нажмите на apache> config> Apache (httpd.conf)
- Найдите Listen 80 и замените на Listen 8080
- После этого проверьте локальный IP-адрес с помощью команды ipconfig (консоль cmd)
- Найдите имя_хоста localhost: 80 и замените своим локальным ip: 8080 (ex.192.168.1.156: 8080)
- После этого откройте apache> config> Apache (httpd-xampp.conf)
-
Поиск по
<Directory "C:/xampp/phpMyAdmin"> AllowOverride AuthConfig **Require local** Replace with **Require all granted** ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var </Directory>'''
-
Перейдите в xampp> config>, нажмите на настройки службы и порта и измените порт apache 8080
- перезапустите xampp
- затем нажмите свой IP: 8080 (ex.192.168.1.156: 8080) с другого компьютера
Это следующие шаги, которые необходимо выполнить, если вы хотите, чтобы ваше приложение PHP было установлено на LAN-сервере (а не в Интернете).
- Получить внутренний IP-адрес или статический IP-адрес сервера (пример: 192.168.1.193)
- Открыть файл XAMPP > apache > conf > httpd.conf в блокноте
- Поиск прослушивания 80
- Над строкой будет читаться как -Listen 0.0.0.0:80/12.34.56.78:80
- Измените IP-адрес и замените его на статический IP
- Сохраните файл httpd.conf, указав, что сервер указывает на #Listen 192.168.1.193:80
- В корне config.php приложения (соединение db) замените localhost на IP-адрес сервера
Примечание:
Если брандмауэр установлен, убедитесь, что вы добавили http-порт 80 и 8080 в исключения и разрешили прослушивать.
Перейдите в Панель управления > Брандмауэр Windows > Разрешить программе общаться через брандмауэр Windows > Добавить другую программу
Имя: http
Порт: 80
Добавьте еще один как http-8080
Если IIS (Microsoft.Net Application Internet Information Server) установлен с любым Microsoft.Net-приложением уже на сервере, то он уже занял бы 80 портов. В этом случае измените #Listen 192.168.1.193:80 на #Listen 192.168.1.193:8080
Надеюсь, это поможет!:)
Это должно быть все, что вам нужно для базовой установки
Такая конфигурация не прерывает phpMyAdmin на localhost
Рекомендуется использовать статический IP-адрес на устройстве, на котором запущен сервер
В этом примере используется IP-адрес 192.168.1.x. В конфигурации вашей сети может использоваться другой IP
В httpd.conf в Apache вы должны иметь:
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80
Я бы оставил пустое имя, чтобы оно получило значения по умолчанию:
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
Разрешить гостевые машины и самостоятельно. В качестве предупреждения о безопасности вы можете избежать Разрешить от всех, но вместо этого использовать конкретный гостевой IP, например Allow from 192.168.1.xxx, где xxx – это гостевой компьютер IP. В этом случае вам может потребоваться рассмотреть статические IP-адреса на гостевых машинах также
# Controls who can get stuff from this server.
#
# Require all granted
# onlineoffline tag - don't remove
Order Deny,Allow
# Deny from all
Allow from all
Allow from 127.0.0.1
Allow from ::1
Allow from localhost
Allow from 192.168.1.*YOURguestIP*
Allow from 192.168.1.*YOURselfIP*
</Directory>
Перезагрузите все службы и нажмите “Поставить в сети” из значка в трее.
Иногда ваш брандмауэр может быть проблемой. Убедитесь, что вы отключили мониторинг антивирусного брандмауэра. Это сработало для меня.
Если вы используете XAMPP 1.8.3
Перейдите в файл httpd-xampp.conf и выполните поиск
” # # Новая концепция безопасности XAMPP # статус сервера | Сервер-инфо))” >
Require local
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
“
Отрежьте этот код и сохраните его где-нибудь для последующего использования. Вернемся к этой функции (помните, что удаление этого кода делает ваш компьютер уязвимым). Сохраните изменения на httpd-xampp.conf, перезапустите службы на XAMPP и запустите его.
Перейдите в xampp-control в панели задач
xampp-control -> Apache --> Config --> httpd.conf
Блокнот откроется с конфигурационным файлом
Поиск
Слушайте 80
В одной строке над ней будет что-то вроде этого: 12.34.56: 80
Измените его
12.34.56:80 --> <your_ip_address eg:192.168.1.5>:80
Перезапустите службу apache и проверьте ее,
Надеюсь, он должен работать…
Если вы подключены к сети Wi-Fi, это намного проще. Просто найдите Ip, в котором вы подключились к Wi-Fi. Например:
ваш-ip – “10.10.55.67”.
Затем запустите сервер xampp на вашем компьютере.
Затем на любом другом компьютере, подключенном к тому же Wi-Fi n/w, введите
http://your-ip
Например: http://10.10.55.67
Этот инструмент меня очень сильно сэкономил, так как у меня нет прав администратора на моей машине и уже установлены узлы. По какой-то причине конфигурация в моей сети не дает мне доступа к другим машинам, просто указывая IP в браузере.
# Using a local.dev vhost
$ browser-sync start --proxy
# Using a local.dev vhost with PORT
$ browser-sync start --proxy local.dev:8001
# Using a localhost address
$ browser-sync start --proxy localhost:8001
# Using a localhost address in a sub-dir
$ browser-sync start --proxy localhost:8080/site1
После того, как вы установили конфиги appache, как описано в других ответах на этой странице, вам может потребоваться также открыть TCP-порты через ваш брандмауэр, как описано здесь:
Вот что я сделал и работал у меня на окнах 10:
1) Нажмите windows + r и введите cmd. В командной строке введите ipconfig
2) найдите адрес ipv4 и переименуйте URL-адрес своего веб-сайта, например: http://192.168.0.2/example.
3) Теперь убедитесь, что ваш брандмауэр имеет доступ к HTTP-серверу Apache. Окна поиска для “ Разрешить приложение через брандмауэр Windows” нажмите на него, затем в правом верхнем правом углу щелкните изменить настройки и убедитесь, что HTTP-сервер Apache имеет один галочку слева и один на частном или общественном. Надеюсь, что это поможет.
Теперь вы можете получить доступ к веб-сайту с других компьютеров в LAN
Сначала перейдите в раздел “Сеть и общий доступ к вашему компьютеру”. Просто выполните несколько шагов, чтобы получить свой IPv4-адрес.
Поместите адрес IPv4 в другой браузер. Например, HTTP//192.168.0.102
Примечание
- Поворот брандмауэра Windows (если он не работает, в противном случае его необязательный)
Доступ к localhost с удаленного устройства
Условие: Ваш сайт в настоящее время находится на http://localhost: 8081/
с таким инструментом, как live-сервер.
а) Публикация в той же сети
В той же сети вы можете получить доступ к вашему компьютеру с вашим текущим IP-адресом или именем хоста. Вы можете найти IP-адрес с помощью ipconfig | grep IPv4
ipconfig | grep IPv4
или имя хоста, отправив ping -a
на этот ip.
http://192.128.1.18:80/
http://hostname:80/
Примечание. Для достижения наилучших результатов используйте порт 80, подключитесь к частной сети и проверьте настройки брандмауэра.
б) Публикация в любой сети (проще)
-
Опция 1 – вы можете использовать ngrok для переадресации портов через общедоступные порты ngrok
Скачайте ngrok и выполните следующую команду:
$ ./ngrok http 8081
-
Опция 2 – Вы можете использовать localhost.run для создания туннеля ssh с помощью следующей команды:
ssh -R 80:localhost:8081 kylemit@ssh.localhost.run
Доступ к удаленному устройству из Local Dev Tools
Чтобы подключить инструменты разработчика браузера к подключенному устройству, следуйте инструкциям в разделе ” Начало работы с удаленной отладкой устройств Android”.
- На вашем телефоне включите “Параметры разработчика” и “Отладка по USB”
- Подключите телефон к компьютеру через USB и установите протокол (не для передачи файлов/мультимедиа)
-
Откройте Dev Tools> Дополнительные инструменты> Удаленная отладка (попробуйте здесь, если устройство не обнаружено)
-
Найдите свой сайт и нажмите “Проверить”, чтобы открыть новое окно инспектора.
Дальнейшее чтение:
Сначала вы перейдете в командную строку и введите
Notepad C:/windows/system32/drivers/etc/hosts
затем добавьте свой адрес ip ниже URL-адреса вашего сайта.
Затем вы перейдете в командную строку и введите
notepad c:/xampp/bin/apache/apache2.4.18/conf/extra/httpd-vhosts.conf
затем добавьте это ниже
documentroot "Directory of your site"
Allow from all
Require all granted
<Files ".ht*">
Require all denied
</Files>
replace to
<Files ".ht*">
Require local
</Files>
Заменить
Require Local
с Require all granted
в xampp\apache\conf\extra\httpd-xampp.conf
файле.
У меня была эта проблема. Я использовал XAMPP на виртуальной машине с сетевыми настройками как “NAT”. Я изменил его на “Bridged”, и проблема была решена.
Запустить сервер Nodejs по сети
const port = process.env.PORT || 3000;
const server = http.createServer(
server.listen(port, '0.0.0.0', () => console.log('Server started on port ${port}')
));
запустите http://yournetworkipaddress: 3000 для доступа к вашему приложению через локальную сеть (LAN)
Шаги по поиску вашей сети ip.
MacOS
- Перейдите в Системные настройки> Сеть
- Проверьте сетевой IP-адрес под подключенным.
Хост по локальному IP,
Откройте CMD: ipconfig
Адаптер беспроводной локальной сети Wi-Fi: IPv4-адрес. , , , , , , , , , , : xx.xxx.xx.xxx
Поэтому я пытался решить аналогичную проблему с подключением к совершенно другому серверу в своей локальной сети, чтобы при прерывании и восстановлении питания мой сервер возвращался в оперативный режим, а другие системы могли по-прежнему иметь связь с автоматизацией. Однако моя проблема заключалась в том, что DHCP иногда давал моему серверу разный IP-адрес. Эта тема ответила на мою проблему с NAMESERVER, которая изначально есть в Windows. Я подключался напрямую к своим серверам IP add http://192.168.1.5 через командный файл для инициализации соединения, но при возникновении проблем с питанием он не мог подключиться. Я изменил файл .bat так, чтобы он указывал на http://DESKTOP-actualnamewhereserver: port, и готово. Задача решена. Если я не изменю имена своих компьютеров, тогда, когда DHCP передает серверу DESKTOP-actualnamewhere новый IP-адрес, он все равно будет идентифицировать свое собственное имя в локальной сети и, следовательно, сможет принимать соединение независимо от его IP-адреса. Просто дайте другим людям в вашей беспроводной локальной сети имя вашего компьютера, на котором размещен сервер Apache, и предположим, что его имя – DESKTOP-DOUGHFACTORYHUT, они будут вводить http://DOUGHFACTORYHUT: 80 или любой другой номер порта, на котором ваша конфигурация apache установлена для размещения, например LOCALHOST: 80, которые по сути совпадают с вашим локальным динамическим IP-адресом, назначенным DHCP или STATIC IP, который вы задали серверу.
Я полностью согласен с BugFinder.
В простых словах просто поместите ip-адрес 192.168.1.56 в свой браузер, работающий на 192.168.1.2!
если он не работает, тогда возможны следующие причины:
-
Проблема с сетевым подключением:
- Прежде всего, проверьте подключение к сети с помощью команды ping 192.168.1.56 в командной строке/терминале на компьютере 192.168.1.2.
-
Проблема межсетевого экрана:
У вашего брандмауэра Windows нет разрешения для XAMPP (apache).
(Наиболее вероятная проблема)- (раствор)
перейдите к расширенным настройкам брандмауэра и добавьте входящие и исходящие правила для исполняемого файла Apache.
- (раствор)
-
Проблема конфигурации Apache.:
Ваш apache настроен на прослушивание только локальных запросов.- (решение)
вы можете это, открыв файл httpd.conf и заменив
Слушайте 127.0.0.1:80 для прослушивания 80 или * Слушайте: 80
- (решение)
-
Конфликт портов с другими серверами (IIS и т.д.)
- (Решение) Отключите сервер Apache, а затем откройте локальный хост в браузере. если какой-либо ответ будет получен, тогда отключите этот сервер, а затем запустите Apache.
если все вышеописанное не работает, возможно, на вашем apache server.try есть некоторая проблема с конфигурацией, чтобы найти ее, иначе просто переустановите ее и перенесите все php файлы (htdocs) в новую установку XAMPP/WAMP.