Я хотел бы направить все мои домены * .local или * .dev на определенный IP-адрес, будь то IP-адрес моей виртуальной машины Ubuntu или localhost. Это возможно? Могу я использовать файл / etc / hosts?
Я использую Mac OS X Snow Leopard с Ubuntu Hardy Heron LTS - JeOS на VMware Fusion 3.
Прямо сейчас я просто продолжаю создавать записи / etc / hosts для каждого из них, и я бы предпочел, чтобы это было похоже на DNS с подстановочными знаками и позволяло Apache обрабатывать домены, а затем вручную вводить их каждый раз. Мне нравится возможность обновлять это, когда я делаю что-то странное или кто-то дает мне странный запрос, но 90% из них, я думаю, лучше всего автоматизировать.
Мы настраиваем DNS-сервер BIND на машине Linux, чтобы указать TLD * .dev на машину Apache. Мы объявляем этот DNS-сервер всем клиентам LAN через DHCP, поэтому все запросы проходят через этот сервер и могут разрешать .dev.
В конфигурации Apache мы используем так называемый массовый виртуальный хостинг, чтобы избежать необходимости редактировать конфигурацию для каждого нового сайта. Таким образом, мы можем просто создать новый каталог с правильным соглашением об именах, и он будет найден.
Запустите что-то вроде dnsmasq, что позволит вам добавить несколько пользовательских записей DNS, но все остальное перенаправит на ваш обычный DNS-сервер.
Настройка ответа с подстановочными знаками в конфигурациях apache проста, но apache не имеет ничего общего с вашим локальным разрешением имен - он принимает только те соединения, которые были ему переданы, поэтому сетевой стек должен направлять соединение в надлежащем порядке. направление в первую очередь.
Насколько мне известно, это означает, что вам нужно либо запустить локальный DNS-сервер в вашей сети / машине, либо вам нужно добавить записи в / etc / hosts для каждого домена dev.
К сожалению, вы не можете добавлять подстановочные знаки в файл / etc / hosts. Что, как говорится Эта статья демонстрирует метод, который работает с Tiger. Хотя я думаю, что launchctl устарел как leopard, но он все еще может работать.