Просмотр локального веб-сайта в локальной сети под другим именем хоста

#iphone #macos #dns #nginx #bonjour

#iPhone #macos #dns #nginx #bonjour

Вопрос:

Короче говоря, я пытаюсь просмотреть веб-сайт Mac в локальной сети WiFi под .local именем хоста, которое не совпадает с «именем компьютера» машины, и думаю, что я пропускаю шаг настройки.

У меня есть локальная установка nginx на моем Macbook с соответствующими записями /etc/hosts и nginx.conf для обслуживания нескольких сайтов, каждый со своим собственным именем локального хоста. Предположим, что сетевое имя Macbook — computername.local, и у меня запущено 2 сайта, один наhttp://computername.local и еще один на http://servicename.local . Я могу получить доступ к каждому из этих сайтов просто отлично с локального компьютера, но также хочу иметь возможность доступаhttp://servicename.local с iPhone в той же сети WiFi. Я получаю тайм-аут для этого URL, но другой работает просто отлично.

Я предполагаю, что нужно что-то сделать, чтобы разрешить использование servicename.local в локальной сети, которое я опустил. Что требуется для этого? Нужно ли мне использовать Bonjour для этого? Куда бы мне добавить это новое локальное имя хоста?

Другой Mac в той же сети может получить доступ к этому под servicename.local просто отлично, если я также определю IP в его /etc/hosts файле, но я не могу изменить этот файл на iPhone, очевидно. Это не джейлбрейк, и я не очень заинтересован в том, чтобы делать это только для того, чтобы заставить это работать.

Комментарии:

1. Вам потребуется какая-либо запись DNS, чтобы указать servicename.local на IP другого компьютера. Не уверен, как вы делаете это на iPhone.

2. @Rasika: Я полагаю, я мог бы запустить локальный DNS-сервер в сети и определить DNS там. Я просто предположил, что одной из особенностей Bonjour было объявление о доступности определенной службы в сети под разными именами хостов, поэтому мне не пришлось прибегать к локальному серверу имен.

3. Я не уверен, как работает Bonjour, но может случиться так, что он рекламирует только одно имя хоста для службы, которое является именем компьютера. Там может быть какая-то настройка для изменения этого имени. Здесь нет Mac, чтобы протестировать это.

4. Это просто еще одна догадка, но я предполагаю, что фактическое приложение для сервиса должно использовать какой-то Bonjour API, и что nginx просто не поддерживает его, поэтому я проверяю, есть ли файл для macOS X, который я могу отредактировать самостоятельно

Ответ №1:

Не уверен, поможет ли это операционной системе, но другой способ сделать это — помимо запуска DNS-сервера или джейлбрейка телефона — запустить HTTP-прокси на Mac и настроить iPhone на использование прокси. Затем iPhone получит записи файла локальных хостов Mac, поскольку он разрешает DNS-запросы через прокси. Я писал в блоге о том, как это сделать, используя бесплатный прокси для Mac «SquidMan» здесь:http://egalo.com/99j