![为什么用户每次输入无效子域名时都能查看 IIS 默认页面?](https://linux22.com/image/643059/%E4%B8%BA%E4%BB%80%E4%B9%88%E7%94%A8%E6%88%B7%E6%AF%8F%E6%AC%A1%E8%BE%93%E5%85%A5%E6%97%A0%E6%95%88%E5%AD%90%E5%9F%9F%E5%90%8D%E6%97%B6%E9%83%BD%E8%83%BD%E6%9F%A5%E7%9C%8B%20IIS%20%E9%BB%98%E8%AE%A4%E9%A1%B5%E9%9D%A2%EF%BC%9F.png)
我在我的服务器 (Windows Server 2008 R2) 上托管公共域的 DNS 区域。我的问题是,如果用户输入任何不可用的子域名,则可以看到我的 IIS 默认页面。
例如 :
blabla.mydomain.com or xxx.mydomain.com
可以看到我的IIS默认页面。
如果输入的子域名不可用,我想将用户重定向到主域名。我该如何处理?我应该配置我的 DNS 区域或 IIS 吗?
答案1
发生的事情是这样的:
- 客户端在 DNS 中查找 mydomain.com 的随机子域名(random.mydomain.com)
- 您有一个通配符 DNS 记录,可以将该子域解析为您的主域 (mydomain.com) 的 IP 地址
- 客户端的浏览器通过该 IP 地址连接到您的服务器,并发送 random.mydomain.com 作为 HTTP 连接的主机标头
- 由于您没有与 random.mydomain.com 匹配的绑定,因此 IIS 会回退到与 mydomain.com 的 IP 地址的绑定,但没有主机标头。目前,这显然与您的默认 IIS 站点与内置的“欢迎”页面相匹配。
您需要在 IIS 中为您的主域添加一个包含 IP 地址但不包含主机标头的站点绑定,并停止默认站点(或删除等效绑定),以便使用不匹配的主机标头的访问者能够获得来自您主站点的内容。