IIS 10站点绑定通配符开发计算机

时间:2015-09-28 20:04:24

标签: asp.net iis binding wildcard

我已经在我的本地开发机器上成功设置了IIS(dev分支 - 设置为localdev.me)但是当我去设置另一个分支(hotfix - setup as localhotfix.me)时,我遇到了问题。问题是由于网站的设置方式。 url的子域用于确定要连接的数据库。所以转到host.localdev.me将连接到主机数据库。所以在IIS中,我对网站的绑定有以下设置。

Type    Host Name        Port  IP Address
http    localdev.me      80    *
http    *.localdev.me    80    *

我可以使用任何子域ping localdev.me,并按预期获得环回地址。当我然后设置修补程序分支(与dev完全相同但具有以下绑定)时,我得到名称未解析错误。

Type    Host Name           Port  IP Address
http    localhotfix.me      80    *
http    *.localhotfix.me    80    *

首次设置是否有效,而不是第二次?如果我告诉IIS停止我仍然可以在localdev.me上ping子域并获取环回地址,那可能更奇怪。

我总是可以通过在我的Windows主机文件中手动指定主机名来实现它,但我宁愿不这样做,因为每次添加新的子域时我都需要进入并编辑文件。

编辑:这些是我得到的具体错误。

ping localhotfix.me
Ping request could not find host localhotfix.me. Please check the name and try again.

EDIT2:我的解决方案效果很好。它需要Acrylic DNS和Microsoft Loopback Adapter的安装。我将环回适配器设置为有效的IP地址,并将DNS服务器设置为127.0.0.1,然后编辑AcrylicHosts文件以包含带有通配符的每个域的条目。一旦我完成了所有这些操作,我就可以使用* .localhotfix.me ping localhotfix.me。我相信localdev.me工作的原因是因为它是一个有效的域。该名称将解决我相信IIS能够接管的那一点。但那真的只是一个有根据的猜测。但是,为什么它适用于一个而不是另一个是有道理的。

1 个答案:

答案 0 :(得分:1)

*.localdev.me在没有主机文件的情况下工作的原因是,只要该域名不是127.0.0.1localdev.me,该域的公有DNS就会解析为www.localdev.me。您可以在主机文件为空时使用nslookup *.localdev.me(用除www之外的任何内容替换星号)来检查此项。另一方面,*.localhotfix.me根本没有在公共DNS中注册,这就是为什么你需要一个主机文件条目。