Відповіді:
Спочатку потрібно визначити 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 }')
В основному за допомогою налаштувань брандмауера ви можете дозволити певній програмі (наприклад, рубіну) приймати вхідні з'єднання. Крім того, щоб дозволити доступ до зовнішнього світу (наприклад, www), вам потрібно буде перенаправити трафік на ваш внутрішній шлюз: порт через налаштування вашого маршрутизатора.
Ось як це зробити:
Відкрийте порт на маршрутизаторі (через 192.168.1.1), щоб переадресувати трафік з вашого_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 (усі доступні інтерфейси). Цей варіант один.
Другий варіант - використовувати проксі.
Третій варіант - якщо ви можете сш з iphone, ви також можете переслати ssh.
ssh user @ хост -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.