4

目前我正在尝试将 Web 应用程序(ASP.NET MVC)移植到 Windows azure 并且遇到了一点,我不知道如何解决。

该应用程序是一个多租户的。每个注册的客户都可以为他的实例输入一个名称,并且以后可以通过输入的名称.example.com 浏览该站点。此外,域在 ActionFilter 中用于在数据库之间切换。

如何在 Windows Azure 中实现这一点?我知道我必须使用已定义的 hostHeader 属性定义绑定,但是由于子域是动态生成的,因此每次用户注册并且出现新的子域并重新部署它时,我都必须更改服务定义。但这真的不是我想要的方式。

任何帮助,将不胜感激!

4

2 回答 2

2

我认为问题在于 IIS 不支持子域通配符映射,请参阅此处的 IIS7 中的通配符子域。是否有可能使它们像在 Apache 中一样?了解更多信息。

如果您仍然想这样做,这里有一个解决方案http://www.seoconsultants.com/windows/isapi/subdomains/,但它需要:

  • 能够更新 DNS 记录
  • IIS Web 服务器管理员访问
  • ISAPI_Rewrite 组件(用于解决方案 2)
于 2011-11-10T16:06:46.193 回答
2

在 Windows Azure 中,如果您只是不将任何主机标头分配给您的 Web 角色(这是默认设置),则该站点将被配置为接受任何主机标头。

您仍然需要配置通配符 DNS 以指向您的 Azure 实例,就像您对非 Azure 解决方案所做的那样。

于 2012-04-30T09:14:54.363 回答