У меня есть веб-приложение, которое работает на моем MacBook на порт 3000. Я хочу проверить это на нескольких телефонах и каждый раз проверять IP-адрес моего macbook, чтобы проверить, что это становится громоздким. Я хотел получить доступ к веб-приложению с этих телефонов, используя имя хоста моего macbook.

➜  ~ti git:(release-us) hostname
GM20152.local

➜  ~ti git:(release-us) curl -s   gm20152.local:3000 
<html><body>You are being <a href="http://gm20152.local:3000/subscriptions">redirected</a>.</body></html>%

Но когда я пробую этот URL (http://gm20152.local:3000) с других моих устройств - которые подключены к той же сети Wi-Fi, что и MacBook - браузер не может найти сервер. Я предполагаю, что это потому, что телефон Android, на котором я пытаюсь это сделать, не может сопоставить это имя (GM20152.local) с IP-адресом (мой macbook). Каков наилучший способ сделать это?

3 ответа3

1

Существуют приложения и службы, которые оптимизируют процесс предоставления локального порта (или настроенного локального виртуального хоста) Интернету через HTTP или HTTPS.

Одним из примеров является ngrok (https://ngrok.com/features), хотя есть и другие, такие как localtunnel, pagekite или forward.

Бесплатные функции и базовая загрузка и использование ngrok (см. Ngrok.com/usage) должны позволить вам создать туннель, который предоставляет доступ к вашему локальному веб-серверу через случайно сгенерированный домен ngrok. Вы также сможете проверить запросы трафика.

Дополнительные функции, требующие регистрации, включают в себя различные типы туннелирования сети, множественные туннели, защиту паролем вашего туннеля (ов) и настраиваемые поддомены.

Платные функции включают в себя резервирование домена и субдомена - но это и функции регистрации не кажутся необходимыми для ваших целей.

Если вы предпочитаете управлять службой туннелирования самостоятельно, вы даже можете запустить свой собственный сервер ngrok (документы: https://github.com/inconshreveable/ngrok/blob/master/docs/SELFHOSTING.md), но, опять же, не обязательно для вашего цели.

0

В зависимости от используемого маршрутизатора вы можете назначить статический IP-адрес для вашего Macbook, указав ваш MAC-адрес, а затем использовать запись хостов в мобильных телефонах.

На рынке есть приложения, которые позволяют добавлять записи в таблицу хостов в Android. Им, вероятно, понадобится root, хотя ... Не уверен в этом.

Кроме того, некоторые маршрутизаторы могут также позволять вам определять имя для статических IP-адресов и предоставлять разрешение DNS для этих имен в сети. Но это будет зависеть от возможностей вашего маршрутизатора.

(Я сделал это, используя dd-wrt)

0

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

Предостережение заключается в том, что доменное имя .local - это то, что Маки добавляют автоматически. Возможно, маршрутизатор не использует это для разрешения, и вам может повезти, просто подключившись к gm20152:3000

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .