8

我正在为 IIS Express 中的子域包罗万象的 url 寻找解决方案。

基本上,我环顾四周,发现了如何在 IIS Express 中创建域/子域。

它很容易找到,我所要做的就是在 IIS Express 的 ApplicationHost.config 中添加另一个绑定,并将我的主机文件更改为指向域的 127.0.0.1。

这是 IIS express 配置文件:

<binding protocol="http" bindingInformation="*:80:domain.com" />
<binding protocol="http" bindingInformation="*:80:sub.domain.com" />

但是,我找不到任何方法来创建一个包罗万象的 URL。我可能在某个地方疏忽了,我什至尝试过(可能是天真地)*:80:*.domain.com*:80:*.

我已经搜索但无法回答的另一个问题是将 IIS express 完全绑定到一个包罗万象的 url(例如,每个请求都应通过 IIS Express 以获取特定端口)。

如果重要的话,我正在使用 ASP.NET MVC 3 应用程序。

4

2 回答 2

8

不幸的是,我不相信这是可能的,因为 IIS 不支持通配符域。以下站点详细介绍了潜在的解决方法。

http://forums.iis.net/t/1095760.aspx

https://serverfault.com/questions/165660/wildcard-subdomains-on-localhost-using-iis7

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

以下文章解释了 IIS 绑定的工作原理。关于你的第二个问题,文章指出:

最短的绑定是为具有单个 IP 和站点的服务器保留的,或者如果您希望在没有其他绑定适合的情况下拥有一个“包罗万象”的站点。此绑定使用 IP 通配符且没有主机头,当找不到其他绑定匹配时,绝对会最后应用。在这种情况下,绑定将只是:

http *:80:

于 2011-04-17T00:30:56.920 回答
0

我对 IIS Express 不太熟悉,但通常如果您不设置主机名字段,那么 IIS 将为默认网站上的所有域提供所有请求。所以你基本上会绑定到 127.0.0.1:80 并且“捕获”一切。

但就像我说的,我不知道 IIS Express 是否以这种方式工作。

于 2011-04-17T00:38:16.613 回答