Як користуватися ipad для доступу до веб-сервера в ефірі MacBook


8

моє програмне забезпечення для веб-серверів - це nginx, який дуже добре працює в ефірі MacBook, використовуючи mac os x 10.7.5

коли я переходжу до http: //myapp.localhost в моєму ефірі MacBook, я можу отримати доступ до свого веб-сайту ідеально, який працює на localhost.

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

У мене є дві можливі установки.

1) macbook air під управлінням HUAWEI-MOBILEModem та використанням INTERNET SHARING для дозволу доступу до iPad.

2) коли і macbook air, і iPad мають доступ до одного і того ж WIFI-з'єднання.

Будь ласка, надайте рішення для обох сценаріїв.

ОНОВЛЕННЯ: У мене на сервері macbook air nginx працює більше 1 програми.

для зручностей назвемо їх

тощо.

Як мій iPad може отримати доступ до правильного веб-сайту, розміщеного в моїй програмі macbook?

ОНОВЛЕННЯ

у моєму повітрі macbook я отримую доступ до різних веб-сайтів, оскільки я редагував файл / etc / hosts.


1
Ви відкриті для рішень, які дозволяють використовувати різні порти / декілька nginx для ізоляції веб-додатків, або вам справді потрібен один екземпляр і вам потрібно ізолювати речі лише за URL-адресою. Мені пощастило перевантажити NIC, щоб мати декілька IP-адрес і використовувати xip.io для вирішення звичайних не-маршрутизованих локальних адрес.
bmike

Я не проти слухати цю ідею, @bmike
Кім Стек

Відповіді:


3

В обох сценаріях використання IP або machinename.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.


1
Використання IPad з проксі - сервером: stackoverflow.com/questions/6917107 / ...
wrk2bike

я не хочу втечу з в'язниці або використовувати емулятор. мені потрібно легко протестувати кілька додатків. тому мені залишається такий варіант, як запропоновано вашим коментарем. stackoverflow.com/a/11757977/80353
Кім Стек

однак у мене є проблема. я встановив ipad використовувати проксі-посібник із ip-адресою моєї книги macbook та портом, який я використовую 80. але я все ще не можу отримати доступ до myapp1.localhost
Kim Stacks

о, вибачте, я щойно зрозумів, що мені потрібно ввімкнути свою чарлю, а потім встановити порт на 8888
Кім Стек

Я просто хочу додати, що моє особисте рішення - встановити шарлі, а потім використовувати шарли в моєму електронному книзі. В iPad я вмикаю ручний http-проксі.
Кім Стек

3

localhost є специфічним для пристрою, тому відвідування його на iPad відводить вас до сторінки на вашому iPad (що, ймовірно, не існує).

Для доступу до сторінки, яка подається з вашого Mac з вашого iPad, використовуйте локальну IP-адресу Mac, а не localhost. Щоб отримати локальний IP свого Mac, відкрийте мережеву панель Налаштування системи. Виберіть вашу активну мережу зліва, а IP-адресу відображатиметься праворуч під заголовком Підключений . Це, мабуть, буде щось, що виглядає 10.0.1.1або 127.0.1.1.


чи є спосіб, щоб я призначив конкретне ім’я машини моєму комп'ютеру macbook, і тоді iPad може шукати через ім’я машини?
Кім стек

Я трохи відредагував своє початкове запитання. Я забув згадати, що у мене в ефірі macbook розміщено кілька веб-сайтів. як би це змінило вашу відповідь?
Кім стеки

@kimsia Так, ви можете замінити IP на computerName.local. Дивіться цю відповідь . Кілька додатків не змінюють відповідь, просто робіть те, що ви робите нормально, і замініть localhostIP-адресу. Отже, якщо ви зазвичай ходите http://localhost:8888/someApp/index.html, перейдіть туди, http://IPAddress:8888/someApp/index.htmlде IPAddressлокальний IP.
Натан Грінштейн

Я зазвичай переходжу до myapp1.localhost для доступу до application1 та myapp2.localhost для доступу до програми2. так як це працює для доступу з iPad?
Кім стекає

а також я не впевнений, чи є ваша пропозиція щодо сценарію 1 або 2. або обох?
Кім стек

2

Ви можете спробувати ввести ім'я хоста свого Mac, після якого слід ввести .local.

Тож якщо назва вашого комп’ютера - epsilon.

    http://epsilon.local

Як заявив Натан, IP-адреса спрацює. Замініть мій приклад IP на ваш фактичний IP.

    http://192.168.1.1

Ви додасте свою конкретну інформацію про додаток наприкінці цих адрес. Тож, що коли-небудь буде після http: // localhost , буде додано до кінця цих URL-адрес.


не працювало для мене. я не впевнений, чому. будь-які інші речі, які я можу спробувати?
Кім стек

а також я не впевнений, чи є ваша пропозиція щодо сценарію 1 або 2. або обох?
Кім стекає

Це робота, обов'язково використовуйте http, а потім ip адресу
GusDeCooL

-1

Я думаю, що найпростіше зробити IP-адресу хостів. Наприклад, у командному рядку запустіть це:

curl icanhazip.com

Ви отримаєте свої зовнішні адреси IP {описано нижче як $ IP_ADDRESS}.

Потім на своєму iPad просто вкажіть браузер на цю IP-адресу:

http://$IP_ADDRESS/

Як зробити завивку в ipad? Hehehe
GusDeCooL

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.