windows azure中的子域映射

时间:2011-05-25 06:01:49

标签: azure subdomain

我正在使用VS 2010,WCF和Windows Azure开发任务管理系统。这是一个简单的个性化任务管理应用程序该应用程序允许用户组织和共享他们的任务。 将没有。在我的项目中的用户。如果某人“订阅”了该应用程序,那么我们需要为他创建一个“空间”,其中包含子域或“子文件夹”。如何在windows azure中实现子域映射。子域映射的真正优势是什么?

此致 Ranish

3 个答案:

答案 0 :(得分:6)

只是为了帮助解决其他问题。

Azure将请求路由到您的实例的主要机制是使用“CNAME”DNS记录 - http://en.wikipedia.org/wiki/CNAME_record

这些CNAME记录基本上告诉客户端(浏览器)www.mydomain.com是myapp.cloudapp.net的别名

可悲的是你不能CNAME一个通配符根据你的DNS主机,你可能无法使用通配符CNAME记录(参见https://serverfault.com/questions/44618/is-a-wildcard-cname-dns-record-valid),所以为了将多个子域映射到同一个Azure例如,您可能需要设置多个CNAME记录 - 每个子域要重新路由一次 - 即当您注册客户“新”时,则需要添加新的CNAME记录映射“new.mydomain.com”到myapp.cloudapp.net

Joannes和jmac提出的两个建议都建议使用外部服务来设置这些映射。对于其他一些选项 - 以及一些Amazon C#示例代码 - 请参阅此帖子http://computerone.co.nz/community/discussion/29/amazon-route-53-dns-request-in-c-using-the-rest-api/p1http://www.proactiveit.co.nz/Route53/R53Connect/上还有一个价格实惠的C#库)

答案 1 :(得分:3)

能够生成许多链接到Windows Azure Web角色的子域是一个DNS的程序化重新配置问题,而不是Web角色配置问题。

亚马逊提供了一个名为Amazon Route 53的基于云的DNS服务,您可以将其用于此目的。它实际上可以与Windows Azure一起使用。

然后,在您的webrole中,您需要应用一些ASP.NET调整来获取初始Web请求的主机头,以获取用户正在浏览的实际子域。

答案 2 :(得分:1)

我们通过使用DynDns Custom DNS创建将所有子域请求(* .ourdomain.com)路由到Web角色的通配符CNAME记录,避免了为每个“Space”创建DNS CNAME记录的需要。如果您决定使用此路线,您的网络角色将解析传入请求的子域,以查找用户的“空间”。

来自DynDns文档:

  

别名(CNAME)记录

     

CNAME将一个主机名别名别名。例如,许多客户将www.domain.com别名为domain.com;这可确保始终将www.domain.com和domain.com分配到同一IP地址。自定义DNS中的CNAME记录采用以下选项:

     

与主机(A)记录一样,主机名字段仅限于允许字符A到Z,数字0到9和连字符( - )。 Hostname字段可以使用星号(*)生成通配符CNAME记录。 (主机名字段不能留空,因为RFC禁止二级CNAME记录。)