как использовать Ipad для доступа к веб-серверу на MacBook Air

8

мое программное обеспечение веб-сервера - nginx, которое очень хорошо работает на MacBook Air с Mac OS X 10.7.5

Когда я захожу на http: //myapp.localhost в моем MacBook Air , я могу получить доступ к своему веб-сайту, который работает на localhost.

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

У меня есть две возможные настройки.

1) MacBook Air работает с HUAWEI-MOBILEModem и использует ИНТЕРНЕТ-ШАРИНГ для доступа iPad.

2) когда MacBook Air и iPad подключены к одному и тому же WIFI-соединению.

Пожалуйста, предоставьте решения для обоих сценариев.

ОБНОВЛЕНИЕ: на моем веб-сервере macbook air nginx работает более 1 приложения.

для удобства, давайте назовем их

и т.п.

Как мой iPad может получить доступ к нужному веб-приложению, размещенному на моем MacBook Air?

ОБНОВИТЬ

на моем MacBook Air я получаю доступ к различным веб-приложениям, потому что я отредактировал файл / etc / hosts.

Ким Стеки
источник
1
Открыты ли вы для решений, которые позволяют вам использовать разные порты / несколько nginx для изоляции веб-приложений, или вам действительно нужен один экземпляр и вам нужно изолировать вещи только по URL. Мне очень повезло, перегружая сетевой адаптер для нескольких IP-адресов и используя xip.io для разрешения локальных адресов, которые обычно не маршрутизируются.
bmike
я не против услышать идею, @bmike
Ким Стеки

Ответы:

3

В обоих сценариях использование IP- адреса или адрес машины macinename.local для Mac даст вам только веб-сайт по умолчанию на этом Mac. Все ваши веб-приложения находятся на верхнем уровне, поэтому Nginx ожидает разные имена хостов в запросе. Проблема в том, что эти имена хостов заканчиваются на .localhost, который не разрешается DNS, поэтому iPad не знает, где находится myapp2.localhost, и запрос никогда не достигает Nginx на Mac.

Вы уже как-то обошли эту проблему при тестировании с Mac. Может быть, вы редактировали файл / etc / hosts или у вас есть графический интерфейс, который это делает? Однако вы не можете изменить файл хостов iPad без джейлбрейка.

Простой обходной путь - заменить веб-приложение по умолчанию в Nginx на веб-приложение, которое вы хотите протестировать с iPad, - тогда вы можете использовать адрес machinename.local с iPad. Но вы должны менять это каждый раз, когда хотите протестировать другое веб-приложение.

Более сложные обходные пути: а) настроить Apache на Mac в качестве прокси-сервера и настроить браузер iPad для использования его в качестве прокси-сервера; б) настроить DNS-сервер в вашей локальной сети; в) используйте вместо этого симулятор iPad на Mac, изменяя файл / etc / hosts; или d) сделать джейлбрейк iPad и изменить / etc / hosts.

wrk2bike
источник
1
Использование iPad с прокси-сервером: stackoverflow.com/questions/6917107/…
wrk2bike
Я не хочу делать джейлбрейк или использовать эмулятор. Мне нужно легко протестировать несколько приложений. так что я остался с этой опцией, как предложено вашим комментарием. stackoverflow.com/a/11757977/80353
Ким Стеки
Однако у меня есть проблема. я установил на ipad руководство по использованию прокси с ip-адресом моего macbook и портом, который я использую 80. но я все еще не могу получить доступ к myapp1.localhost
Ким
ой, извини, я только что понял, что мне нужно включить мои чарлы, а затем установить порт на 8888
Kim Stacks
Я просто хочу добавить, что мое личное решение - установить charles, а затем использовать charles в моем MacBook Air. В iPad я включу http прокси вручную.
Ким Стеки
3

localhost это зависит от устройства, поэтому посещение его на вашем iPad означает переход на страницу самого iPad (которая, вероятно, не существует).

Чтобы получить доступ к странице, которая подается с вашего Mac с вашего iPad, используйте локальный IP-адрес Mac вместо localhost. Чтобы получить локальный IP-адрес вашего Mac, откройте панель «Сеть» Системных настроек. Выберите вашу активную сеть слева, и IP будет показан справа под заголовком Подключено . Вероятно, это будет что-то похожее 10.0.1.1или 127.0.1.1.

Натан Гринштейн
источник
Есть ли способ для меня назначить конкретное имя машины для моего MacBook Air, а затем iPad может искать через имя машины?
Ким Стеки
Я немного отредактировал свой оригинальный вопрос. Я забыл упомянуть, что у меня есть несколько веб-приложений, размещенных на веб-сервере в моем MacBook Air. как это изменит ваш ответ?
Ким Стеки
@ kimsia Да, вы можете заменить IP на computerName.local. Смотрите этот ответ . Несколько приложений не меняют ответ, просто делайте то, что вы делаете обычно, и заменяйте localhostIP. Итак, если вы обычно идете http://localhost:8888/someApp/index.html, перейдите туда, http://IPAddress:8888/someApp/index.htmlгде IPAddressнаходится локальный IP.
Натан Гринштейн
Обычно я захожу на myapp1.localhost для доступа к application1 и myapp2.localhost для доступа к application2. так как это работает для доступа с iPad?
Ким Стеки
а также я не уверен, если ваше предложение для сценария 1 или 2. или оба?
Ким Стеки
2

Вы можете попытаться ввести имя хоста вашего Mac с последующим .local.

Так что если имя вашего компьютера - epsilon.

    http://epsilon.local

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

    http://192.168.1.1

Вы бы добавили информацию о вашем конкретном приложении в конце этих адресов. Так что то, что когда-либо придет после того, как http: // localhost будет добавлено в конец этих URL.

dhempler
источник
не работает для меня я не уверен почему. какие-нибудь другие вещи, которые я могу попробовать?
Ким Стеки
а также я не уверен, если ваше предложение для сценария 1 или 2. или оба?
Ким Стеки
Это работа, обязательно используйте http, а затем IP-адрес
GusDeCooL
-1

Я думаю, что проще всего получить IP-адрес хоста. Например, в командной строке запустите это:

curl icanhazip.com

Вы получите ваши внешние IP-адреса {описанные ниже как $ IP_ADDRESS}.

Затем на вашем iPad просто укажите браузер на этот IP-адрес:

http://$IP_ADDRESS/
Марк Коэн
источник
Как сделать скручивание в ipad? Hehehe
GusDeCooL
-1
  • Включить веб-общий доступ: Включить веб-обмен

  • Разместите свой сайт внутри ~/Sites

  • Доступ через URL, как показано выше
Свапнил годамбе
источник
3
Конечно, это предполагает Lion или более раннюю версию, поскольку «Общий веб-доступ» больше не отображается здесь, в Mountain Lion.
GEdgar