Назад | Перейти на главную страницу

Как разрешить все домены .dev на localhost в Windows

Мы хотели бы настроить Windows-боксы наших разработчиков так, чтобы все .dev домены разрешаются в localhost. В системах Unix запуск dnsmasq с одной дополнительной строкой для hosts сделает это, но dnsmasq, к сожалению, предназначен только для Unix. Что касается Windows, мне не известно об эквивалентном решении, встроенном или доступном в сторонней утилите. Лучшее, что мне удалось придумать, - это несколько сценариев PowerShell, запускаемых от имени администратора, которые изменяют c:\Windows\System32\Drivers\etc\hosts прямо - в лучшем случае некрасиво и подвержено ошибкам.

Как правильно это сделать? Разве сейчас реально не существует никакого решения?

Альтернатива: попросите ваших разработчиков просто добавить .localtest.me, которая является уже существующей общедоступной зоной DNS (с записью * A) для этой цели.

Я решил эту ситуацию с помощью Acrylic DNS Proxy. Это бесплатное программное обеспечение с открытым исходным кодом для Windows, которое позволяет использовать подстановочные знаки для папки в качестве локального верхнего реестра домена.

  1. Загрузите Acrylic DNS Proxy здесь: http://mayakron.altervista.org/wikibase/show.php?id=AcrylicHome
  2. Настройте параметры сети так, чтобы они указывали на ваш локальный IP-адрес, как описано здесь: http://mayakron.altervista.org/wikibase/show.php?id=AcrylicWindows10Configuration
  3. Откройте здесь файл конфигурации Acrylic: Пуск> Программы> Acrylic DNS Proxy> Редактировать файл пользовательских хостов (AcrylicHosts.txt)
  4. Добавьте свой домен верхнего уровня с подстановочными знаками следующим образом: 127.0.0.1 *.dev
  5. Перезапустите Acrylic следующим образом: Пуск> Программы> Acrylic DNS Proxy> Перезапустить службу Acrylic
  6. Добавьте подстановочный знак в свой файл конфигурации Apache. Это может выглядеть примерно так:

Это может выглядеть примерно так:

LoadModule vhost_alias_module modules/mod_vhost_alias.so  

NameVirtualHost *.dev:80  

<Directory "/www/sites">  
    Options Indexes FollowSymLinks Includes ExecCGI  
    AllowOverride All  
    Order allow,deny  
    Allow from all  
 </Directory>  

 <VirtualHost *.dev:80>  
     VirtualDocumentRoot c:/www/sites/%-1/%-2+/  
 </VirtualHost>  

Это должно делать свое дело.

У вас уже есть зона .dev в DNS? Вы можете создать запись с подстановочными знаками, где * .dev переходит к обратной петле.

Я могу рекомендовать http://localhost.tv - все поддомены разрешаются до 127.0.0.1