如何为帐户子域configurationIIS通配符(如Basecamp)?

实际上,我正在开发一个SaaS应用程序,在这个应用程序中,我想给订户自己的子域来访问他们的信息(在代码中,我将拉动子域名的第一部分作为他们的账户名),类似于Basecamp等工作。 例如,订阅者可能拥有URL acme.myapp.com 。 由于可能有数百个用户,我不能简单地为每个客户端添加一个不同的主机头。

Apache允许你指定通配符(*),并将acme.myapp.comredirect到myapp.com,其中我可以执行我的逻辑来检索基于子域的用户帐户名。 我不知道如何自动执行此与IIS(这是一段时间,因为我不得不configurationIIS除了一个单一的网站)。

还有,我有什么特别的规定要做到呢? 当我的应用程序准备好了,并且正在寻找托pipe服务时,我是否需要主机的任何特定的东西来限制我的select? 我还在考虑使用Windows Azure来利用云 – 如果我使用Azure作为托pipe平台,我仍然可以做到这一点吗?

正如Joe所说,你会使用DNS而不是IIS。

IIS不支持* .domain.com通配符域。 相反,你会在IIS中创build一个没有主机头的站点,所以会响应那个没有被主机头的其他站点拾取的IP上的所有请求。 然后,您将创build您的通配符DNS条目,指向该网站的IP和您的完成。

如果我正确理解你,你可以使用DNS来做到这一点。 假设myapp.com是您的域名,那么在您的myapp.com DNS区域中,只需添加一个CNAMElogging(acme),指向您的网站(www.myapp.com)的Alogging。 这将把他们发送到您的主要网站,您的代码将接pipe并redirect到适当的应用程序。

你也可以使用一个DNS通配符logging(*),这将捕获每一个,如acme.myapp.com,joeschmoe.myapp.com等