Понятия не имею, с чего начать, заранее извините, если эта тема уже обсуждалась.
Обычно я разрабатываю веб-сайты, используя свой ноутбук в качестве сервера разработки, и недавно мне нужно было протестировать веб-сайт с помощью различных мобильных устройств, которые могут подключаться через Wi-Fi. Не имея реальной точки доступа, я настроил одноранговую сеть с помощью беспроводной карты своего ноутбука, и устройства могут правильно просматривать Интернет и получать доступ к веб-серверу ноутбука. Настройка выглядит следующим образом:
Теперь, если я открываю 192.168.1.32 или 192.168.1.64 с мобильных устройств, я правильно получаю хост по умолчанию для моей конфигурации Apache. Однако я обычно работаю с виртуальными хостами по многим практическим причинам, одна из которых - своеобразная реализация мультисайтов в Drupal. Для тех, кто не знает, как это работает, Drupal берет имя хоста запроса и ищет на своих сайтах / подкаталогах соответствующий файл конфигурации. Так, например, предположим, что я запрашиваю www.example.com, тогда Drupal будет искать файл конфигурации в следующих каталогах:
sites/www.example.com/
sites/example.com/
sites/com/
sites/default/
Поэтому я решил использовать следующий стиль виртуальных хостов: если веб-сайт, над которым я работаю, будет доступен через www.example.com, я создаю каталог sites / www.example.com / и создаю виртуальный хост для локального. www.example.com, так что у Drupal не будет проблем с его поиском. Мне сказали, что это неоптимально с точки зрения DNS, поскольку мне пришлось бы создать авторитетную запись для example.com и включить Bind только тогда, когда я должен получить доступ к локальной копии, что странно. Однако, если это единственный путь, по которому я могу следовать, у меня все еще есть некоторые проблемы с настройкой Bind, так как я не смог найти никакого руководства, которое бы четко и дружелюбно для новичков рассказывало мне, как настроить такую запись. С другой стороны, мне было интересно, могу ли я настроить авторитетную запись для local, чтобы я мог получить доступ к www.example.com.local и каким-то образом (я даже не знаю, возможно ли это) Apache для поместите www.example.com вместо www.example.com.local в соответствующую переменную среды.
В любом случае, у меня есть последняя проблема, вроде того: когда я запускаю Bind в режиме отладки с высокой степенью детализации и делаю 192.168.1.32 в качестве основного DNS для устройств, в выходных данных ничего не говорится о запросах, сделанных с устройств на Свяжите, так что я даже не уверен, что это пригодится.
Как видите, я полный новичок в этих вопросах, но мне не терпится учиться, поэтому любая помощь / указатель будет оценена по достоинству.
Еще одно решение - установить небольшой прокси-сервер на вашем настольном компьютере (где вы разрабатываете и размещаете свои сайты с несколькими виртуальными хостами). Например, в Windows вы можете использовать Скрипач. Если вы используете Mac OS X или Linux, вы можете попробовать Чарльз (но это не бесплатно).
В Fiddler вам нужно активировать опцию "Разрешить удаленным компьютерам подключаться" на «Связи» вкладка окна настроек.
Затем вам необходимо настроить мобильное устройство для использования прокси. Это легко сделать в настройках WiFi мобильного устройства.
Я ожидаю, что когда вы создаете свой VirtualHost на своем локальном веб-сервере, вы также редактируете свой hosts
файл, чтобы вы могли просматривать свои сайты локально. Теперь вы хотите, чтобы ваше мобильное устройство делало то же самое.
Здесь вступает в силу прокси. Прокси-сервер может читать ваш локальный файл hosts (C:\Windows\System32\drivers\etc\hosts
или /etc/hosts
), поэтому это означает, что ваше мобильное устройство будет автоматически перенаправлено на ваш локальный веб-сервер.
Что также интересно в этом решении, так это то, что вы можете моделировать медленные сети трафика и четко видеть, что на самом деле загружает ваше мобильное устройство (очень полезно при использовании медиа-запросов и адаптивных изображений).
Я нашел эту статью, в которой очень хорошо объясняется, как это сделать: Тестирование веб-сайта Mac OS X с использованием локального имени хоста на мобильном устройстве
извините за задержку, я наконец нашел решение после множества экспериментов. Прежде всего, вот файл зоны, который я использую для local. домен:
$TTL 1800
@ IN SOA local. root.porto.local. (
2010061500 ; serial
7200 ; refresh
3600 ; retry
604800 ; expire
1800 ; default_ttl
)
NS porto.local.
$ORIGIN local.
porto IN A 192.168.1.32
www IN A 192.168.1.32
к которому я могу добавить строки вроде
www.example.com IN A 192.168.1.32
что дает возможность запрашивать www.example.com.local, и это одно.
Чтобы принять во внимание странное поведение Drupal, я действительно нашел решение, которое не мешает мне работать с настоящим удаленным www.example.com во время работы с локальной копией, за исключением того, что мне пришлось установить зону для локальной .www.example.com и строка хоста для www, что приводит к странному и длинному www.local.www.example.com ... откровенно говоря, это слишком много, чтобы сохранить мое психическое здоровье. Я пойду за местным. way и s / .local // дамп базы данных, который я собираюсь развернуть на рабочем сервере.
Спасибо всем, кто ответил.
Честно говоря, вы, возможно, слишком усложнили свою ситуацию, вы не действительно нужно привязать, так как вы можете просто ввести 192.168.1.32 example.com
в ваш хост-файл. Если вы хотите узнать, как использовать привязку, попробуйте посмотреть, что происходит, когда вы просматриваете этот домен в NSlookup и видите, что он вам говорит, это может очень помочь.