Ответы:
Сначала вам нужно определить 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: порт на 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, вы не сможете получить к нему доступ с другого компьютера. Для этого вам нужно изменить конфигурацию, чтобы прослушивать IP или 0.0.0.0 (все доступные интерфейсы). Это первый вариант.
Второй вариант - использовать прокси.
Третий вариант - если вы можете использовать ssh с iphone, вы также можете использовать ssh forwarding.
ssh user @ host -L 3000: 127.0.0.1: 3000
Затем на вашем iPhone откройте 127.0.0.1:3000
0.0.0.0
! Как я мог не думать об этом?
Вы пробовали это, это работало на меня (я не связан с этим):
rails server -b 0.0.0.0
, а затем браузер это на вашем iPhone.