如何在 Windows 上将所有 .dev 域名解析为 localhost

如何在 Windows 上将所有 .dev 域名解析为 localhost

我们希望在开发人员的 Windows 机器上进行设置,以便所有.dev域都解析为 localhost。在 Unix 系统上,只需添加一行即可启动 dnsmasq hosts,但遗憾的是 dnsmasq 仅适用于 Unix。在 Windows 方面,我不知道是否有等效的解决方案,无论是内置的还是第三方实用程序中提供的。我能想到的最好的方法是一些 PowerShell 脚本,以管理员身份运行,这些脚本会c:\Windows\System32\Drivers\etc\hosts直接更改 — 充其量是丑陋且容易出错的。

正确的做法是什么?目前没有有效的解决方案吗?

答案1

您的 DNS 中是否已有 .dev 区域?您可以创建一个通配符条目,其中 *.dev 进入环回。

答案2

替代方案:让你的开发人员直接添加.localtest.me,这是一个已经存在的公共 DNS 区域(带有 * A 记录),用于此目的。

答案3

我使用 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>  

这应该够了吧。

答案4

我可以推荐http://localhost.tv- 所有子域名解析为 127.0.0.1

相关内容