Windows,Apache,Acrylic DNS和通配符子域

时间:2015-06-10 19:32:03

标签: windows apache dns virtualhost wildcard-subdomain

我尝试使用带有Acrylic DNS代理的Windows 8.1上的Apache 2.4设置动态VirtualHosts子域,但我遇到了Server Not Found错误的问题。我已经阅读了很多答案,例如this one,但我无法弄清楚错误或解决方法。

我的目标是设置一个本地域(http://localhost.pc),以便/htdocs中的文件夹动态提供所有子域名,http://test.localhost.pc/来自/htdocs/test/等。我的VirtualHost配置设置为

<VirtualHost *:80>
   UseCanonicalName Off
   ServerName localhost.pc
   ServerAlias localhost.pc www.localhost.pc
   DocumentRoot C:/dev/apache/htdocs/

   <Directory />
      Options FollowSymLinks Includes ExecCGI Indexes
      IndexOptions FancyIndexing HTMLTable FoldersFirst
      AllowOverride All
      Require all granted
   </Directory>
</VirtualHost>

<VirtualHost *:80>
   UseCanonicalName Off
   ServerName localhost.pc
   ServerAlias *.localhost.pc
   VirtualDocumentRoot C:/dev/apache/htdocs/%1/

   <Directory />
      Options FollowSymLinks Includes ExecCGI
      IndexOptions FancyIndexing HTMLTable FoldersFirst
      AllowOverride All
      Require all granted
   </Directory>
</VirtualHost>

我已经安装了丙烯酸DNS代理,我已经为我的WiFi和我的(已断开连接的)以太网将IPv4 DNS服务器更改为127.0.0.1,并且我已经编辑了AcrylicHosts.txt以包含线

127.0.0.1 localhost.pc *.localhost.pc

丙烯酸似乎工作正常,我已启用调试日志并点击日志和常规互联网浏览工作正常。但是,如果我访问我的本地域或子域,我会发现服务器未找到错误,尽管Acrylic的调试日志说

TResolver.Execute: Request  ID 34019 received from client 127.0.0.1:55587 [Q=localhost.pc;T=AAAA;Z=84E301000001000000000000096C6F63616C686F737403706D6100001C0001].
TResolver.Execute: Response ID 34019 sent to client 127.0.0.1:55587 directly from hosts cache.

点击日志说

127.0.0.1   H   Q=localhost.pc;T=A
127.0.0.1   H   Q=localhost.pc;T=AAAA

从命令行ping localhost.pc失败(找不到主机),但nslookup看起来不对

C:\>nslookup localhost.pc
Server:  UnKnown
Address:  127.0.0.1

Name:    localhost.pc
Addresses:  127.0.0.1
          127.0.0.1

如果我然后将127.0.0.1 localhost.pc添加到C:\Windows\System32\drivers\etc\hosts并刷新DNS缓存,我至少可以加载http://localhost.pc/。 Acrylic的重点是能够使用通配符,但http://test.localhost.pc只有在我手动将它和任何其他子域/文件夹添加到Windows主机文件时才有效。

所以我猜测如果手动将条目添加到Windows主机文件中,Acrylic就会出现问题。有没有人知道出了什么问题以及如何解决它?

1 个答案:

答案 0 :(得分:0)

我修复了版本&lt; = 0.9.27版本中AcrylicHosts.txt文件无法正确解析AAAA查询的错误。

如果您使用最新版本(0.9.28),那么您应该没问题。