8 ответов:
это определенно возможно. Мы возьмем общий случай с Apache здесь.
допустим, вы большой поклонник Symfony2 и хотите получить доступ к своему сайту symfony по адресу
http://symfony.local/С 4 разных компьютеров (основной, на котором размещен ваш сайт, а также Mac, Windows и дистрибутив Linux, подключенный (беспроводной или нет) к основному компьютеру.Общий Эскиз:
1настройка a виртуальный хост:
сначала вам нужно настроить виртуальный хост в вашем apache . На XAMP, вы можете найти вот этот файл:
C:\xampp\apache\conf\extra\httpd-vhosts.conf. На МАМП, вы можете найти вот этот файл:Applications/MAMP/conf/apache/extra/httpd-vhosts.conf. этот шаг подготавливает веб-сервер на вашем компьютере для обработкиsymfony.localзапросы. Вам нужно указать имя виртуального хоста, а также корневой папке вашего сайта. Чтобы сделать это, добавьте следующую строку в конце файл. Вам нужно изменитьDocumentRootтуда, где находится ваша основная папка. Вот я и взял/Applications/MAMP/htdocs/Symfony/как корень моего сайта.<VirtualHost *:80> DocumentRoot "/Applications/MAMP/htdocs/Symfony/" ServerName symfony.local </VirtualHost>2настройка файла hosts:
чтобы клиент (ваш браузер в таком случае) понял, что
symfony.localна самом деле означает, что вам нужно отредактировать файл hosts на вашем компьютере. Каждый раз, когда вы вводите URL-адрес в браузере, ваш компьютер пытается понять, что это значит!symfony.localне значит все что угодно для компьютера. Так что он будет пытаться решить имяsymfony.localна IP-адрес. Он сделает это, сначала заглянув в файл hosts на вашем компьютере, чтобы узнать, может ли он соответствовать IP-адресу, который вы ввели в адресной строке. Если он не может, то он спросит DNS-серверы. Хитрость здесь состоит в том, чтобы добавить следующее в файл hosts.
- On MAC этот файл находится в
/private/etc/hosts;- On LINUX этот файл находится в
/etc/hosts;- On WINDOWS этот файл находится в
\Windows\system32\private\etc\hosts;- On WINDOWS 7 этот файл находится в
\Windows\system32\drivers\etc\hosts;- On WINDOWS 10 этот файл находится в
\Windows\system32\drivers\etc\hosts;Hosts file
## # Host Database # localhost is used to configure the loopback interface ## #... 127.0.0.1 symfony.localотныне каждый раз, когда вы печатаете symfony.местные на это компьютер, ваш компьютер будет использовать интерфейс обратной связи для подключения к symfony.местный. Он поймет, что вы хотите работать на localhost (127.0.0.1).
3открыть
symfony.localС другого компьютера:мы, наконец, приходим к вашему главному вопросу, который является:
как теперь я могу получить доступ к моему сайту через другой компьютер?
Ну это теперь легко! Нам просто нужно рассказать другим компьютеры, как они могли найти
symfony.local! Как нам это сделать?3aполучить IP-адрес компьютера, на котором размещен интернет-сайт:
сначала нам нужно знать IP-адрес на компьютере, на котором размещен веб-сайт (тот, над которым мы работали с самого начала). В терминале, на MAC и LINUX тип
ifconfig |grep inetнаWINDOWSтипipconfig. Предположим, что IP-адрес этого компьютера 192.168.1.5.3bотредактируйте файл hosts на компьютере, с которого вы пытаетесь получить доступ к веб-сайту.:
опять же, на MAC этот файл находится в
/private/etc/hosts; on LINUX, в/etc/hosts; и WINDOWS, в\Windows\system32\private\etc\hosts(если вы используете WINDOWS 7 этот файл находится в\Windows\system32\drivers\etc\hosts).. Трюк теперь использовать IP-адрес компьютера, к которому мы пытаемся получить доступ / поговорить:## # Host Database # localhost is used to configure the loopback interface ## #... 192.168.1.5 symfony.local4наконец-то наслаждайтесь результатами в вашем браузере
теперь вы можете зайти в свой браузер и ввести
http://symfony.localчтобы красиво видеть ваш сайт на разных компьютерах! Обратите внимание, что вы можете применить ту же стратегию, если вы являетесь пользователем OSX, чтобы проверить свой веб-сайт в Internet Explorer через Virtual Box (если вы не хотите использовать компьютер с Windows). Это красиво объяснил в создание тестовой среды Windows / IE на OSX.
вы также можете получить доступ к localhost с мобильных устройств
вы можете задаться вопросом, как получить доступ к сайту localhost с мобильного устройства. В некоторых случаях, вы не сможете изменить файл hosts (iPhone и iPad...) на вашем устройстве (джейлбрейк исключен).
ну, тогда решение состоит в том, чтобы установить прокси-сервер на машине, на которой размещен веб-сайт и подключение к этому прокси-серверу с вашего iphone. Это на самом деле очень хорошо объясняется в следующих сообщениях и не так долго, чтобы настроить:
на Mac, я бы рекомендовал:тестирование веб-сайта Mac OS X с использованием локального имени хоста на мобильном устройстве: используя SquidMan в качестве прокси. Это 100% бесплатное решение. Некоторые люди также могут использовать Чарльз как прокси-сервер, но это 50$.
на Линуксе, вы можете приспособить путь Мак ОС выше с помощью кальмаров как прокси-сервер.
на Windows, вы можете сделать это с помощью Саша. Решение описано в следующем посте: Мониторинг трафика iPhone с помощью Fiddler
Edit 23/11/2017: Эй, я не хочу изменять файл Hosts
@Dre. Любой возможный способ доступа к веб-сайту с другого компьютера не является редактирование файла хоста вручную? допустим, у меня есть 100 компьютеры разыскиваются для доступа на сайт
это интересный вопрос, и поскольку он связан с вопросом OP, позвольте мне помочь.
вам нужно будет внести изменения в свою сеть, чтобы каждая машина знала, где размещен ваш сайт. большинство повседневных маршрутизаторов не делают этого так что вам придется запустить свой собственный DNS-сервера в сети.
давайте представим, что у вас есть роутер (192.168.1.1). Этот маршрутизатор имеет сервер DHCP и IP-адреса для 100 машин в сети.
теперь, допустим, у вас есть, как и выше, в той же сети, машина в
192.168.1.5, который имеет свой сайт. Мы будем называть эту машину Помпеи.$ echo $HOSTNAME pompeiкак и раньше, эта машина Помпеи at
192.168.1.5работает HTTP Server, которая обслуживает ваш сайтsymfony.local.для каждой машины, чтобы знать, что
symfony.localнаходится на Помпеи теперь нам понадобится пользовательский DNS-сервер в сети, который знает, гдеsymfony.localхранится. Затем устройства в сети смогут разрешать доменные имена, обслуживаемые Помпеи внутренне.3 простых шага.
Шаг 1: DNS-сервер
настройка DNS-сервера в сети. Давайте его на Помпеи для удобства и использовать что-то вроде dnsmasq.
Dnsmasq обеспечивает система доменных имен (DNS) forwarder,....
мы хотим, чтобы Помпеи для запуска DNSmasq для обработки DNS-запросов
Hey, pompei, where is symfony.localи ответаHey, sure think, it is on 192.168.1.5 but don't take my word for it.Go ahead install dnsmasq, файл конфигурации dnsmasq обычно находится в
/etc/dnsmasq.confв зависимости от вашей среды.я лично использую
no-resolvи серверы googleserver=8.8.8.8 server=8.8.8.4.*Примечание:* всегда перезапускайте DNSmasq при изменении файла/etc / hosts, так как в противном случае никакие изменения не вступят в силу.
Шаг 2: Брандмауэр
на работу, Помпеи необходимо разрешить входящие и исходящие пакеты "домена", которые идут от и до порта 53. Конечно! Это DNS пакеты и если Помпеи не позволяет им, нет никакого способа для вашего DNS-сервера, чтобы быть достигнут вообще. Идти вперед и откройте этот порт 53. В linux вы бы классически использовали
iptablesдля этого.разделяя то, что я придумал, но вы, скорее всего, придется погрузиться в свой брандмауэр и понять все хорошо.
# # Allow outbound DNS port 53 # iptables -A INPUT -p tcp --dport 53 -j ACCEPT iptables -A INPUT -p udp --dport 53 -j ACCEPT iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT iptables -A OUTPUT -p udp --dport 53 -j ACCEPT iptables -A INPUT -p udp --sport 53 -j ACCEPT iptables -A INPUT -p tcp --sport 53 -j ACCEPT iptables -A OUTPUT -p tcp --sport 53 -j ACCEPT iptables -A OUTPUT -p udp --sport 53 -j ACCEPTШаг 3: Маршрутизатор
сообщите маршрутизатору, что ваш dns-сервер включен
192.168.1.5сейчас. Большую часть времени, вы можете просто войти в свой маршрутизатор и очень легко изменить вручную.вот это, когда вы находитесь на машине и просите
symfony.local, он спросит вашего DNS-сервера здесьsymfony.localразмещается, и как только он получил свой ответ от DNS-сервера, затем отправит соответствующий HTTP-запроса до Помпеи on192.168.1.5.я позволяю тебе играть с этим и наслаждаться поездкой. Эти 2 шага являются основными рекомендациями, поэтому вам придется отлаживать и тратить несколько часов, если вы делаете это в первый раз. Допустим, это немного более продвинутая сеть, есть первичный DNS-сервер, вторичные DNS-серверы, etc.. Удачи вам!
если обе машины находятся в одной рабочей группе, откройте
cmd.exeна машине, к которой вы хотите подключиться, типаipconfigи обратите внимание на IP вIPv4 Addressлинии.затем на машине, с которой вы хотите подключиться, используйте
http:// + the IP of the target machine.это должно сделать это.
этот инструмент спас меня много, так как у меня нет прав администратора на моей машине уже был установлен nodejs. По какой-то причине конфигурация в моей сети не дает мне доступ к другим машинам, просто указывая 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
для тестирования на обоих ноутбуках на одной беспроводной сети и через интернет вы можете использовать такую услугу, как http://localhost.беги/ или https://ngrok.com/
возможно, ваши брандмауэры не позволяют вам получить доступ к веб-серверу localhost.
Поместите IP-адреса обоих компьютеров internet security antivirus network security в качестве безопасных IP-адресов, если это необходимо.
Как найти IP-адрес вашего ПК с windows: Пуск > (Выполнить) введите: cmd (Enter)
(Откроется командная строка черного ящика)
введите ipconfig (Enter)
Допустим, ваш веб-сервер Apache или IIS установлен на вашем ПК: 192.168.0.3
и вы хотите получить доступ к вашему веб-серверу с вашего ноутбука. (IP ноутбука-192.168.0.5)
На вашем ПК вы вводите: http://localhost/ внутри Вашего браузера Firefox или Internet Eplorer для доступа к вашим данным на вашем веб-сервере.
На вашем ноутбуке вы вводите http://192.168.0.3/ для доступа к веб-серверу на вашем ПК.
Для всех этих вещей для работы вам нужно правильно установить веб-сервер (например, IIS, Apache, XAMP, WAMP и т. д.).Если это так не работает, попробуйте пинговать ваш компьютер с вашего ноутбука:
Откройте команду propmt на вашем ноутбуке: пуск > cmd (Enter)
ping 192.168.1.3 (Enter)
Если пинг не удается, то брандмауэры блокируют ваше соединение или ваш сетевой кабель неисправен. Перезагрузите модем или сетевой коммутатор и ваши машины.
Закройте такие программы, как программы чата, использующие ваши порты.
Вы также можете попробовать другой номер порта: http:192.168.0.3:80 или http:192.168.0.3:81 или каких-либо случайных номер в конце
на Mac OS X:
в терминале, выполните
ifconfig | grep 192.чтобы получить внутренний IP-адрес вашей машины в текущей сети. Это может быть что-то вроде192.168.1.140запустить сервер. Например,
node server.jsможет запустить сервер на каком-то порту.на вашем телефоне, посетите
192.168.1.140:3000или любой порт, на котором работает ваш сервер.
это боковое Примечание, Если вы все еще не можете получить доступ к localhost с других устройств после выполнения описанного выше шага. Это может быть связано с портами в Apache.conf был настроен для обслуживания локально (127.0.0.1), а не снаружи.
проверьте следующее, (для ubuntu apache2)
$ cat /etc/apache2/ports.confесли установлено следующее,
NameVirtualHost *:80 Listen 127.0.0.1:80затем измените его обратно на значение по умолчанию
NameVirtualHost *:80 Listen 80
Если вы находитесь на Windows, используйте ipconfig чтобы получить локальный IPv4-адрес, а затем указать его в файле конфигурации Apache: httpd.conf, например:
Listen: 10.20.30.40:80перезапустить сервер Apache и проверить его с другого компьютера в сети.

Comments