У меня на компьютере запущено приложение 127.0.0.1:3000
Я хотел бы получить доступ к этому приложению с iPhone, подключенного к той же сети. Я делал это раньше, но не понимаю, как я это сделал. Любые идеи?
Сначала вам нужно определить IP-адрес или имя машины, на которой работает веб-сервер. Я предполагаю, что вы используете веб-сервер на Mac, так как вы отметили свое сообщение macosx
хотя инструкции для машин с Linux аналогичны. Итак, на вашем Mac:
Terminal.app
. Это под Applications->Utilities
.ifconfig
в терминале. Это показывает вам все сетевые интерфейсы на машине. Один из них - это сеть, к которой активно подключена ваша машина. Если ваш Mac подключен к проводному соединению, это должно быть en0
. Запишите адрес после inet
- это должен быть адрес, который использует ваша машина. nc -v 192.168.10.1 3000
. Connection to 192.168.10.1 3000 port [tcp/http] succeeded!
.ctrl-C
для выхода из сеанса NC.Если вы не можете подключиться к своему приложению по реальному адресу сервера, это означает, что ваше приложение не прослушивает этот адрес. Вам нужно будет изучить, как изменить конфигурацию вашего приложения, чтобы изменить это поведение. Поскольку я не знаю, какое приложение вы используете, я не могу предложить никаких хороших идей по этому поводу.
Найдите имя своего Mac, используя hostname
(в командной строке терминала) и используйте это в своем URL-адресе. Например. http: //Tonys-iMac.local: 3000 /
Если по какой-либо причине Bonjour не работает в вашей среде, найдите адрес аэропорта на iMac или MacBook с
ipconfig getifaddr en1
или вообще с
ipconfig getifaddr $(route -n get default|awk '/interface/ { print $2 }')
По сути, в настройках брандмауэра вы можете разрешить определенному приложению (например, ruby) принимать входящие соединения. Кроме того, чтобы разрешить доступ к внешнему миру (например, www), вам необходимо перенаправить трафик на ваш внутренний шлюз: порт в настройках вашего маршрутизатора.
Вот как это сделать:
Откройте порт на маршрутизаторе (через 192.168.1.1) для перенаправления трафика с your_web_ip: port на local_gateway: порт.
Готово. Теперь с удаленного компьютера откройте в браузере свой IP-адрес в Интернете (найдите через http://www.whatismyip.com/) + порт назначения # выше, например 72.189.194.65:3280, это подключится к вашему локальному 192.168.1.4:3000
Примечание: я работаю в Mac OSX 10.7.5.
127.0.0.1 - это локальный адрес, который есть у каждого компьютера. Вы должны узнать, каков настоящий IP-адрес (или имя хоста / Bonjour) машины. Перейдите в Системные настройки, Сеть и найдите IP-адрес устройства: либо порт Ethernet, если вы используете кабель, либо аэропорт, если вы используете WLAN. Затем откройте этот адрес вместе с частью: 3000 в Safari на iPhone.
Если приложение прослушивает только 127.0.0.1:3000, вы не можете получить к нему доступ с другого компьютера. Для этого вам нужно изменить конфигурацию на Listen the IP или 0.0.0.0 (все доступные интерфейсы). Это вариант один.
Второй вариант - использовать прокси.
Третий вариант: если вы можете использовать ssh с iphone, вы также можете использовать пересылку ssh.
ssh пользователь @ хост -L 3000: 127.0.0.1: 3000
Затем на вашем iphone откройте 127.0.0.1:3000
Вы пробовали это, у меня это сработало (я не связан с этим):