Подтвердить что ты не робот

Localhost работает на Mac. Могу ли я просмотреть его на своем Android-телефоне?

Запуск проекта ruby ​​on rails на моем mac. Мне нужно протестировать его на моем телефоне Android. Есть ли способ просмотреть мой mac localhost на моем Android-телефоне?

4b9b3361

Ответ 1

Имя "localhost" - это всего лишь петля на ваш собственный компьютер. Чтобы получить доступ к нему на вашем Android, вам нужно найти IP-адрес компьютера.

Самый общий способ найти эту информацию, которая работает как на Mac, так и на Linux, - это войти в терминал и ввести ifconfig. Ищите "en0" или "en1", и под этой записью найдите список "inet". Это будет нечто вроде "192.168.1.100". Когда вы найдете этот адрес, это то, что вы хотите поместить в адресную строку вашего браузера.

(На Mac в частности вы можете перейти на панель "Совместное использование" в "Системные настройки", и он скажет вам там.)

Ответ 2

Здесь быстро сделайте, чтобы ваш локальный хост был доступен для тестов на других устройствах:

1) определить IP-адрес вашего Android: выберите Wi-Fi, с которым вы подключены (то же, что и тот, на котором включен Mac), на нем будет указан IP-адрес). Например: предположим, что ваш Android-адрес IP: 192.168.0.10

2) откройте оболочку на вашем Mac и отредактируйте хост:

sudo nano /etc/hosts

3) отредактируйте файл следующим образом:

127.0.0.1 192.168.0.10

4) Определите свой Mac IP: (как @Chuck прекрасно объяснил) (в вашей оболочке):

ifconfig

5) Откройте свой любимый веб-браузер, который вы используете на своем телефоне, и подключитесь к вашему IP-адресу Mac (при необходимости с портом) с помощью чего-то вроде:

http://192.168.x.x:8000/

6) Наслаждайтесь своим испытанием:)

Обратите внимание, что вы можете сделать это для каждой поддержки, подключенной к вашему Wi-Fi.

Ответ 3

Ответ на вопрос правилен, если ваше мобильное устройство и ваш компьютер находятся в одной сети. Однако, если вы хотите, чтобы ваш сервер localhost был видимым для более широкого Интернета (например, для тестирования через 3G, разработки веб-узлов или совместной работы с удаленным коллегой/клиентом), требуется больше, чем локальные адреса (начиная с 10. * или 192.168. * ) не видны более широкому Интернету.

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

Эти службы предоставляют вам общедоступное DNS-имя и программное обеспечение, которые соединяют ваш "localhost" с сервером ретрансляции в облаке (a.k.a. обратный прокси). Например, если вы используете PageKite, вы можете запустить следующую команду в терминале:

$pagekite.py 80 yourname.pagekite.me

... создать сопоставление от http://yourname.pagekite.me/ к веб-серверу, работающему на http://localhost:80. Пока программа запущена, ваш сайт localhost будет виден остальной части Интернета. Чтобы сделать его снова закрытым, вы просто отключите программу-коннектор pagekite.py.

Для полноты, вот некоторые из туннельных служб localhost, о которых я знаю:

  • PageKite - это бесплатное программное обеспечение (Python) с услугой онлайн-оплаты "платите за вас". Вы можете создать столько долгоживущих поддоменов, сколько хотите, включен сертификат SSL wildcard, а интерфейсные реле выполняются в нескольких географических точках, чтобы обеспечить избыточность и отзывчивость.
  • Localtunnel - это бесплатное (спонсируемое Twilio) решение Ruby, которое дает временные имена соединений. Обратите внимание, что имена переработаны, поэтому вы можете увидеть неожиданный трафик, пока соединение находится в режиме реального времени.
  • Showoff.io и Tunnlr.com - это проприетарная платная услуга, сопоставимая с Localtunnel, основанная на той же базовой технологии (ssh-туннели).

(Извините, что не ссылался на последние два, SO-защита от спама мешает мне быть справедливым для моих конкурентов. -)

Ответ 4

Нашел этот отличный бесплатный инструмент сегодня - очень легко настроить и работает как шарм! Также доступны версии для Mac OS, Linux и Windows.

https://ngrok.com/

(я никак не связан с ним)

Ответ 5

Это работало для меня для доступа к серверу rails с IP-адресом по локальной сети:

  • Брандмауэр должен быть отключен.
  • /etc/hosts должны иметь следующую запись:

    127.0.0.1 192.168.100.12
    

    где 192.168.100.12 - это IP-адрес, который может быть найден командой ifconfig в терминале.

  • Запустите сервер рельсов с помощью этой команды:

    rails server -b 0.0.0.0 -p 8080
    

Мне удалось получить доступ к моему локальному хосту через http://192.168.100.12:8080/

Ответ 6

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

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

Затем заберите свой IP-адрес телефона. Для этого я использую приложение Network Info II. Существует определенно другой способ добиться этого. Однако Network Info II работает по мере необходимости и является документом для этого руководства.

Теперь откройте терминал на своем компьютере (не беспокойтесь о том, в каком каталоге вы находитесь) и запустите команду sudo nano/etc/hosts/. После ввода системного пароля вы увидите в верхней части терминала строку чисел со следующим словом localhost. Localhost на самом деле является просто псевдонимом для вашего собственного адреса сервера, так что, когда вы переходите на localhost в браузере, он просто перенаправляет HTTP-запрос на ваш локальный компьютер. Чтобы связать ваш телефон с этим контуром, введите его IP-адрес прямо между строкой чисел и Localhost.

Чтобы сохранить это, нажмите control + X, а затем Y, когда будет предложено сохранить. После этого клавиша ввода вернет вас к стандартной командной строке.

Откройте вторую вкладку в терминале и запустите локальный сервер. Я тестировал это только с помощью простого сервера python, который может запускаться на терминале python -m SimpleHTTPServer 8000. Тем не менее, я предполагаю, что вы можете запустить любой локальный сервер, который вам нравится, поскольку все, что вам нужно для ссылки - номер порта. Если вы используете простой сервер python, этот номер порта составляет 8000.

Запустите ifconfig в терминале. Это приведет к появлению большого количества информации, на которую вы должны прокручиваться примерно на полпути. То, что вы ищете, представляет собой строку чисел, которые следуют после inet и перед сетевой маской внутри ключа en0: или en1:.

Готово! На вашем Android откройте браузер и посетите номер inet, затем двоеточие (:) и номер порта.

Ответ 7

Хотя один ответ принят, но это сработало для меня:

  • Убедитесь, что ваш компьютер и устройство Android находятся в одной сети.
  • получить адрес вашего компьютера. (в случае макроса типа ifconfig внутри терминала и поискать en0/en1 -> inet он должен быть чем-то вроде 19*.16*.1.4.)
  • Откройте настройки своего мобильного телефона и перейдите в сеть → долгое время нажмите Wi-Fi-сеть → измените сеть → прокрутите вниз до дополнительных параметров → выберите руководство прокси-сервера и в прокси-хосте введите ваш адрес, т.е. 19*.16*.1.4 внутренний порт введите свой порт. и сохраните его.

  • найдите what is my ip в google chrome и получите свой ip, скажем, что это 1**.1**.15*.2**

  • попробуйте получить доступ к 1**.1**.15*.2**:port/ с вашего мобильного устройства.

Это так же просто, как это.