Мы хотели бы настроить Windows-боксы наших разработчиков так, чтобы все .dev
домены разрешаются в localhost. В системах Unix запуск dnsmasq с одной дополнительной строкой для hosts
сделает это, но dnsmasq, к сожалению, предназначен только для Unix. Что касается Windows, мне не известно об эквивалентном решении, встроенном или доступном в сторонней утилите. Лучшее, что мне удалось придумать, - это несколько сценариев PowerShell, запускаемых от имени администратора, которые изменяют c:\Windows\System32\Drivers\etc\hosts
прямо - в лучшем случае некрасиво и подвержено ошибкам.
Как правильно это сделать? Разве сейчас реально не существует никакого решения?
Альтернатива: попросите ваших разработчиков просто добавить .localtest.me, которая является уже существующей общедоступной зоной DNS (с записью * A) для этой цели.
Я решил эту ситуацию с помощью Acrylic DNS Proxy. Это бесплатное программное обеспечение с открытым исходным кодом для Windows, которое позволяет использовать подстановочные знаки для папки в качестве локального верхнего реестра домена.
127.0.0.1 *.dev
Это может выглядеть примерно так:
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