当前位置:  开发笔记 > 编程语言 > 正文

IIS7中的通配符子域.是否有可能使它们像在Apache中一样?

如何解决《IIS7中的通配符子域.是否有可能使它们像在Apache中一样?》经验,为你挑选了3个好方法。

这是否可以配置IIS7以实现像Apache一样的关于通配符域的功能?我对基于URL中使用的子域用户在ASP.NET Web应用程序中路由用户感兴趣.

这里描述的东西如下:

http://steinsoft.net/index.php?site=programming/articles/apachewildcarddomain

谢谢



1> Daniel Liuzz..:

答案是否,IIS7(仍然)不支持通配符主机名(请参阅此内容).如果你想在一个网站上提供多个域名,那么现在唯一的解决方法就是使用专用的IP并使用支持通配符的DNS来实现.

2013年更新

为了完整起见,IIS8还没有此功能.

2016年更新

最后,Windows 2016中的IIS 10支持通配符子域.


问题是那些重写规则需要一个网站才能生存; 一个网站需要绑定才能活跃起来; 和IIS不支持通配符绑定,所以我们回到正方形.你绝对可以让一个网站模拟服务多个网站(例如你提到的重写规则),但你需要一个专用的IP来解决这个问题.在这种情况下,DNS基本上弥补了IIS的缺陷.

2> notandy..:

IIS是否支持通配符主机标头?我可以捕获*.mydomain.com并将其重定向到一个网站吗?

答案是肯定/否定.是的,因为您可以将*.mydomain.com重定向到一个网站.不,因为神奇是在DNS而不是IIS.

以下是您的操作方法:
在IIS MMC中,配置一个没有主机头的网站,然后为该站点分配IP地址.(如果框中有一个IP地址,则可以跳过此处).有了这个,网站将绑定到特定的IP,并将监听发送到IP的所有HTTP请求,你就完成了:)

下一步是确保您的名称解析适用于通配符查询并使用正确的IP地址进行回复.如果您使用Microsoft DNS服务,它将不允许您创建'*'A记录(假设您已在DNS MMC中创建了域区域),您需要执行以下操作:

    导航 %windir%\system32\dns\

    找到区域文件.例如
    mydomain.com.dns,用记事本打开它

    添加条目.例如
    * A IP.IP.IP.IP

    保存区域数据文件

    在DNS MMC中重新加载区域数据.

请注意,通过执行此操作,所有*将响应您之前配置的IP.例如abc.mydomain.com,www.mydomain.com,K2k.mydomain.com等.

要验证它是否正常工作,请尝试ping实用程序ping (insert anything here).mydomain.com ,您应该收到来自IP.IP.IP.IP的回复

然后尝试浏览,http://(在此处插入任何内容).mydomain.com /,您应该获得已配置的相同网页.

资源



3> Centijo..:

您无法在Microsoft的DNS中创建通配符(*)A记录,但您可以创建通配符CNAME.如果您要做的只是将所有子域指向特定的IP,这将起作用.例如,如果您有A记录www.mydomain.com,则可以CNAME为其添加记录*.mydomain.com并指向该记录www.mydomain.com.请求标头中的主机名仍然是子域,因此您的Web应用程序应该能够捕获它并在需要时处理它.

推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有