Как получить доступ к сайту, работающему на локальном хосте, из браузера iPhone

266

Я работаю над мобильным веб-сайтом и хочу протестировать его с помощью моего браузера iPhone. Мой компьютер с Windows 7 и iPhone находятся в одной беспроводной сети. Как я могу получить доступ к localhost с iPhone? Прямо сейчас я получаю ошибку 404.

бараны
источник
1
убедитесь, что вы отключили брандмауэр
ajahongir
На другом / мобильном устройстве в той же сети, посетите: « IP_Address: PORT ». Подробности в ответах, которые следуют.
Аршин

Ответы:

243

Доступ к локальному хосту с iPhone просто создаст петлю / попытается подключиться к самому себе (если он поддерживает это?).

Что вам нужно сделать, это найти IP-адрес вашего настольного компьютера (например, если Windows, перейдите к Command Promptи введите ipconfigили перейдите Network and Sharing Centreи найдите connection status.

Как только у вас есть ваш ip, просто зайдите в браузер, например http://192.168.0.102.

Возможно, вам потребуется открыть порт 80 (или любой другой порт, на котором работает ваш сайт) в системе безопасности входящего трафика вашего брандмауэра, если вы используете его.

Примечание: не забудьте в порт приложения , если то , что вы хотите, чтобы отладить приложение в браузере вашего iPhone как: http://192.168.0.102:3000. В этом примере 3000 является портом по умолчанию, используемым ReactJS.

Wil
источник
1
«Доступ к localhost с iPhone просто сделает петлю / попытается подключиться к самому себе (если он это поддерживает?)» - конечно, он поддерживает. Почти такой же ответ, как мой ахахахаха;)
cusspvz
1
Iphone, как и другие устройства на основе Unix, Symbian и Win, нуждаются в обратной петле из-за некоторых приложений, которые соединяются с другими через адрес обратной связи TCP / IP. Почти все устройства с сетью имеют возможность обратной связи.
cusspvz
2
Если тестирование проводится на WordPress, тогда мы должны изменить URL-адрес веб-сайта http://xxx.xxx.xxx.xxx/wordpressв WordPress Dashboard.
Раджул
1
На самом деле, попробуйте получить доступ к localhost: port к открытому порту на вашей машине. Это работает на моей установке.
orip
3
IINM, это не сработает для отладки прогрессивных веб-приложений, которые обычно имеют сервисных работников, так как сервисные работники требуют https, а это требует сертификатов. С Android он перенаправляет порты, так что вы все равно можете использовать localhost, и вам не нужно получать сертификаты.
Макс Уотерман
174

Если вы используете Mac, перейдите в Системные настройки> Сеть и используйте свой IP-адрес вместо localhost. Вы также можете использовать номер порта. В моем случае у меня работает сервер с портом 1448, и я могу просмотреть 192.168.1.241:1448 с помощью iPhone.

MacOsNetworkSettings

Фатих Ацет
источник
5
Этот ответ является идеальным балансом компьютерных специалистов в области визуального дизайна. Отлично сработано.
Рорали
40
Удерживая нажатой клавишу «Alt / Option», нажимайте на элемент строки меню Wi-Fi. Это дает кучу дополнительной информации о вашем соединении, включая ваш локальный IP-адрес.
Уильям Робертсон
Не работает, если ваш сервер использует virtualhost (несколько хостов)
Trinh Hoang Nhu
2018: Сетевая утилита> Информация (первая вкладка)> IP-адрес (в разделе Информация об интерфейсе) - все работает! thnku
webkit
2
Чтобы получить доступ к песочнице развития, я должен был изменить песочницу хост 0.0.0.0вместо localhost. stackoverflow.com/a/35419631/1054633
Бен
28

Вы можете попробовать ngrok.io . Работает по тому же принципу, что и localtunnel.
Загрузите приложение для вашей ОС. и попробуйте запустить как:

для Linux:

./ngrok http 8000

8000 - номер порта, на котором запущено ваше приложение.

для окон:

 ngrok.exe http 8000
Маниш Гупта
источник
2
Это может теоретически ответить на вопрос, но было бы лучше включить здесь основные части ответа для будущих пользователей и предоставить ссылку для справки. Ответы с преобладанием ссылок могут стать недействительными из-за гнили ссылок .
Могсдад
Спасибо, я отредактировал ответ. Но это все еще ссылка доминирует. Однако всегда можно Google в случае, если ссылка не работает.
Маниш Гупта
28

Попробуй это:

  1. Нажмите Windows+R
  2. открыто cmd
  3. Run ipconfig (Старый) ifconfig (Новый)
  4. Проверьте IP вашей беспроводной сетевой карты
  5. Перейдите на iPhone и перейдите к « http://xxx.xxx.xxx.xxx/ » через ваш браузер.
    (xxx.xxx.xxx.xxx - ваш IP)

Примечание: вы должны установить права на настройки брандмауэра, если таковые имеются.

cusspvz
источник
Ты спас мой день!
Александр
21

Если вы используете MAMP , введите свой IP-адрес (скажем, 192.0.0.63) в браузере iPhone Safari, а затем номер порта 8888 (например, 192.0.0.63:8888), и вы сможете увидеть свой локальный сайт в твой айфон.

И если вы используете сервер WAMP , снова в вашем браузере iPhone Safari просто введите IP-адрес (скажем, 192.0.0.63) и все. Но не забудьте удалить deny from allфайл httpd.conf для вашего сервера WAMP. Если вы посмотрите на линию allow from 127.0.0.1, над ней или под ней вы увидите deny from all; просто удалите эту строку и перезапустите свой сервер WAMP, и это должно к работе.

Ecko
источник
1
Номер порта MAMP зависит от ваших настроек на вкладке «сервер».
Дженни Джи
Я просто хочу добавить одну заметку: Если вы пытались, и это не сработало, попробуйте изменить сеть на что-то другое, в моем случае я переключился на свою точку доступа 4G моего телефона, и она работала нормально
Tho Vo
21

Если вы используете Mac -

  1. Подключите ваш iPhone к вашему Mac через USB.

  2. Зайдите в Network Utility (cmd + пробел и введите «сетевая утилита»)

  3. Перейти на вкладку «Информация»

  4. Нажмите на выпадающее меню с надписью «Wi-Fi» и выберите «iPhone USB», как показано на фотографии.

Сетевая утилита, выберите iPhone USB

  1. Вы найдете IP-адрес, например «xxx.xxx.xx.xx» или аналогичный. Откройте браузер Safari на вашем iPhone и введите IP_адрес: номер_порта

    Пример: 169.254.72.86:3000

[ПРИМЕЧАНИЕ. Если поле IP-адреса пустое, убедитесь, что ваш iPhone подключен через USB, выйдите из Network Utility, снова откройте его и проверьте IP-адрес.]

arjunkm
источник
Работает как шарм. Еще одна интересная особенность - вы можете использовать инспектор для разработки.
Газдагерго
3
Если вы не видите IP-адрес, сделайте следующее: 1. включите персональную горячую точку на iPhone (подключаясь через USB) 2. выключите Wi-Fi на вашем Mac. Таким образом, iPhone превращается в маршрутизатор, и вы снова увидите IP-адрес.
Газдагерго
Это единственный ответ, который сработал на моих 10, огромное спасибо!
LAdams87
Это работает, но кажется ненужным, поскольку использование IP-адреса Mac работает так же хорошо (то есть: IP-адрес, который вы получаете, когда вы оба подключены к одному и тому же Wi-Fi и выбираете Wi-Fi (en0) из списка выше).
Том Ожер
20

Если вы не в той же сети, вы можете использовать этот сторонний инструмент под названием localtunnel

http://localtunnel.me/

Он в основном направляет ваш контент через другой сервер, и вы получаете к нему доступ.

Nikos
источник
Об этом уже говорилось в существующем ответе .
Могсдад
10

Если бы вы указали имя хоста вместо IP-адреса

Первый вариант (быстрый путь):

Вы должны быть в состоянии перейти http://my-macbook-pro.local/mywebsiteна ваш iPhone. См. Https://stackoverflow.com/a/9304094/470749.

Этот подход работает, потому что домен .local является специальным зарезервированным словом.

Второй вариант:

Смотрите http://xip.io/ , это бесплатный сервис и очень удобно. Конфигурация не требуется.

Затем, когда вы перейдете по адресу http://mysite.app.192.168.1.130.xip.io (используя браузер на вашем сервере или на любом устройстве в вашей локальной сети), он покажет страницу, размещенную на 192.168.1.130.

И если вы используете Homestead на компьютере, который существует по этому IP-адресу, перейдите по адресу http://mysite.app.192.168.1.130.xip.io:44300 (с портом в URL), каким-то образом отобразится страница, размещенная на Усадьба Вагрант на виртуальной машине 192.168.10.10. Довольно удивительно.

Третий вариант (который не зависит от службы и является гибким, но более сложным и работает только при наличии маршрутизатора с DD-WRT):

Если у вас есть один локальный сервер, на котором размещено несколько разных сайтов, к которым вы хотите получить доступ через разные имена хостов (через iPhone), вы можете сделать это.

  1. В вашей ОС измените имя вашего компьютера на короткое, значимое и легко запоминающееся, например, «RYANDESK».
  2. В настройках вашего DD-WRT роутера:
    1. В Services > Services > Static Leasesнастройте MAC-адрес вашего сервера так, чтобы он указывал на определенный IP-адрес, например 192.168.1.108. Установите его имя хоста таким же, как вы назвали свой компьютер ранее. «Время аренды клиента» может составлять 1440 минут.
    2. Обязательно нажимайте, Saveа также Apply Settingsпри каждом изменении. («Сохранить», по-видимому, автоматически не применяет настройки.) Если вы получаете ошибку, возможно, это связано с тем, что дизайн графического интерфейса DD-WRT вводит в заблуждение, и вы без необходимости нажимали «Добавить» для статической аренды.
    3. В DHCP Server > User Domain, выберите "LAN & WAN". В поле «Домен LAN» установите короткую строку, например, ваши инициалы без знаков препинания (например, «xyz»). Вероятно, избегайте использования слова «местный», поскольку могут быть конфликты. Не используйте реальные домены, такие как «com», «org», «net» и т. Д.
  3. В Services > Services > DNSMasq, включите DNSMasq и «Локальный DNS» и настройте «Дополнительные параметры DNSMasq» следующим образом: address=/project1.xyz/project2.xyz/192.168.1.108(где xyzвсе, что вы выбрали на предыдущем шаге, IP указывает на конкретный компьютер, и, project1и project2любое имя хоста, на которое вы хотите указать каждый из этих проектов (например, разные конфиги Nginx).
  4. Убедитесь, что в вашем файле HOSTS нет записей, противоречащих тому, что мы сделали. Если вы не знаете, что такое файл HOSTS, вы, вероятно, в порядке.
  5. Очистите кэш DNS, освободите и обновите локальный IP-адрес. Переключитесь в режим «В самолете» на iPhone, чтобы очистить кэш DNS.
  6. Теперь вы можете перейти на http://ryandesk.xyzваш iPhone (или в браузере на вашем компьютере), и он будет преобразован в ваш локальный сервер. Надеюсь, вы настроили свой Nginx или Apache или что-то еще, чтобы прослушивать это имя хоста.

    https://wiseindy.com/it/how-to-access-your-pcs-using-dns-names-with-dd-wrt/ http://www.howtogeek.com/69696/how-to-access- ваши машины, используя-DNS-имена-с-DD-WRT /

Райан
источник
6

Для пользователей Mac откройте Network Utility (это можно узнать, набрав cmd + пробел, чтобы открыть прожектор, а затем в центре внимания начать печатать Network Utility). Выберите Network Utility, когда она открыта, ваш IP-адрес будет находиться рядом с меткой IP-адрес. Таким образом, в основном с IP, вы можете получить доступ к любым открытым портам на вашем локальном Mac, например, если ваш сайт работает локально на localhost: 3000, а ваш IP-адрес 154.31.92.0, то с вашего телефона вы можете получить сайт, просто набрав 154.31. 92.0: 3000 в браузер.

PS - это работает, только если телефон и компьютер находятся в одной сети

Kenigbolo
источник
Это сработало отлично. В Network Utility я выбрал Wi-Fi вместо Ethernet по умолчанию, и тогда мой адрес был 10.0.1.3. На моем Mac у меня была программа, работающая по адресу localhost: 3004, поэтому на iPad я набрал 10.0.1.3:3004 и смог просмотреть сайт, работающий локально на моем Mac. Для более сложных случаев с поддоменами, таких как demo.mysite.local: 3004, у меня был успех с DNSMasq, но это более сложный процесс.
stahlmanDesign
5

WebpackDevServer localhost от iphone

Если вы используете приложение, которое работает на узле. Вы можете использовать веб-пакет в качестве инструмента для сборки и использовать их встроенный в Devserver

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

webpack-dev-server --host 192.168.0.89 --port 3000

затем с вашего iPhone вы можете получить к нему доступ, используя

http://192.168.2.89:3000

Примечание: ваш ноутбук и iPhone должны быть в одной сети, и вы должны использовать ваш IP-адрес localhost.

Для Mac, как найти IP-адрес, вы можете обратиться Получить локальный IP-адрес в node.js

Тарандип Сингх
источник
5

Если вы используете Mac (OSX):

На тебе Mac:

  1. Открытый терминал
  2. запустить "ifconfig"
  3. Найдите строку с IP- адресом "192.xx.xx"

Если вы тестируете свой веб-сайт с адресом «localhost: 8888 / mywebsite» (это зависит от конфигурации вашего MAMP)

На вашем телефоне:

  1. Откройте браузер (например, Safari)
  2. Введите URL 192.xxx.xx: 8888 / mywebsite

Примечание : вы должны быть подключены к одной сети (Wi-Fi)

Jibeee
источник
3

Вы можете использовать ip компьютера вместо http: // localhost .

Но это может быть не доступно. Вы должны отредактировать httpd.conf (или эквивалентный файл конфигурации) вашего серверного программного обеспечения. У меня нет установленного php, но вы можете искать по ключевому слову: «Разрешить из или / Directory»

Примечание: IP-адрес ПК, на котором работает XAMPP, должен быть статическим IP-адресом (не назначается DHCP), в противном случае вам придется проверять его вручную каждый раз при перезагрузке ПК.

kyehan
источник
3

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

Затем я обнаружил следующее утверждение, касающееся IIS express, в документации Microsoft: «IIS express не обслуживает запросы к браузеру на другом компьютере, что облегчает его утверждение в корпоративных средах».

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

Источник: http://msdn.microsoft.com/en-us/library/58wxa9w5.aspx

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

DrHooverCraft
источник
2

Если вы работаете над проектом php, вы можете изменить базовый href:

<base href="<?php echo str_replace("localhost","192.x.x.x",HTTPS_SERVER);?>">

  • localhost или 127.0.0.1: в зависимости от ваших настроек
  • 192.xxx: ваш локальный IP-адрес
  • HTTPS_SERVER: предыдущая базовая ссылка

Это необходимо для загрузки изображений, файлов CSS и JS на телефон.

Ясин
источник
2

С WAMP :

1) Вы должны нажать на значок WAMP> Подключить к сети (дождитесь перезапуска).

2) Затем (если вы используете WiFi на Iphone в той же сети), откройте ваш IP в браузере iPhone

т.е. http://192.168.1.22 ИЛИ http://164.92.124.42

Чтобы найти свои локальные IP-адреса:
a) нажмите Пуск> Выполнить> cmd и введите ipconfig , тогда вы увидите там.
ИЛИ
б) нажмите синюю стрелку и «арендовать новый IP».

вот и все. теперь вы можете получить доступ (открыть) localhost с Android или iPhone

T.Todua
источник
2

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

У меня было одно устройство, которое не могло подключиться, и оказалось, что устройство было настроено на использование Charles Proxy, которое, конечно, не работало.

Дэвид
источник
2

Найдите IPадрес вашей системы и на каком сайте portвы работаете.

Скажите, что ваш IP-адрес 121.300.00.250и ваш порт 8080.

[Номер порта: смотрите ваш веб-браузер при запуске страницы, например: localhost: 8080 / ... тогда номер порта 8080]

Теперь на вашем мобильном телефоне зайдите 121.300.00.250:8080/..и вы найдете свой веб-сайт.

ВАЖНО: Вы должны убедиться, что ваш сервер (например, Apache Tomcat) находится в запущенном состоянии

какой то дуд
источник
1

Взгляните на этот ответ , он обсуждает внутреннюю маршрутизацию HTTP через прямые вызовы Objective-C к слою / встроенному веб-серверу с поддержкой HTTP (предположим, что код HTTP-сервера находится в том же приложении, которое желает отображать HTML в сети). виджет).

Преимущество этого в том, что он немного более защищен (и, возможно, быстрее), поскольку порты не должны быть открыты.

Большой Богатый
источник
1

Если вы идете по пути входа в настройки сети и получения IP-адреса Wi-Fi, такого как xxx.xxx.x.xxx:9000 (: 9000 или другой порт открыт), убедитесь, что ваше мобильное устройство также подключено к тому же Wi-Fi. -Fi / сигнал IP-адрес. Я провел день, пытаясь заставить это работать, и это не работало, пока я не выключил свой телефон от сотовой сети к тому же соединению Wi-Fi / IP-адресу. Открыл сразу, как только я сделал это обновление.

timepicker_question
источник
Отключение мобильных данных имело для меня все значение. Спасибо!
Энди Стюарт
1

Для этого есть очень простой способ:

  1. Подключите телефон и компьютер к одной локальной сети.
  2. Window + R, затем введите ipconfig, затем вы получите свой текущий IP-адрес вашего ПК, это выглядит так: 192.168.XX.XX
  3. Введите этот IP-адрес с портом приложения в веб-браузере телефона следующим образом: http: //192.168.XX.XX: 8080 , все работает

Примечание:

Если это не сработало. Выключите антивирусное программное обеспечение на вашем компьютере, если все еще не работает, попробуйте отключить брандмауэр Windows, потому что проблема связана с брандмауэром ПК.

SkuraZZ
источник
1

шаги:

Я предполагаю, что вы запустили веб-сервер (Apache Tomcat на порт по умолчанию: 8080).

На окнах 10:

  1. Откройте антивирус, перейдите в раздел брандмауэра, найдите раздел портов и добавьте локальный порт TCP / IP: 8080, чтобы разрешить доступ.
  2. получить IP-адрес компьютера из командной строки. (IPv4-адрес)
  3. Запустите Chrome с iPhone и перейдите по IP-адресу : 8080 адрес.

Надеюсь это поможет.

гаджанан малвадэ
источник
0

Со своего iphone я хотел просмотреть веб-сайт, размещенный на сервере IIS, на моем ноутбуке с Windows 8. После некоторого прочтения я открыл брандмауэр Windows и выбрал «Разрешить приложение или функцию через брандмауэр Windows». Затем прокрутите вниз и выберите «World Wide Web Services (HTTP)» из списка. Вот и все, это сработало. Надеюсь, это поможет кому-то еще.

Sumit
источник
0

В моем случае сначала я подключил свой компьютер и мобильный телефон к одной сети, вы можете пропинговать свой мобильный телефон с компьютера, чтобы проверить соединение.

Я запускаю свой проект с помощью GGTS (Groovy / Grails Tool Suite) локально, затем получаю доступ к веб-сайту с мобильного телефона, используя IP-адрес ПК, и он работает очень хорошо.

PS. при запуске с локального сервера URL-адрес будет таким: ( http: // localhost: 8080 / projectname ) вы должны заменить localhost IP-адресом ПК, если вы пытаетесь получить доступ к локальному веб-сайту с мобильного телефона.

пузико
источник
0

Если вы на Mac, обязательно отредактируйте свой /etc/hostsфайл. Найдите IP-адрес в соответствии с инструкциями выше и добавьте следующую строку в этот файл

172.x.xx.x.x outer

После этого вышеперечисленные шаги сработали: перейдите на нужную страницу в моем браузере iphone, посетите http: //172.x.xx.xx: порт http://www.imore.com/how-edit-your-macs- хосты-файлы и почему-вы-бы-хотят

ajwl
источник
0

Другой быстрый и грязный способ сделать это на Mac - открыть xcode (если он у вас установлен) и запустить safari на вашем симуляторе. Печатание localhostздесь также будет работать.

Джулиан Б.
источник