0

我真正想做的是建立一个名为site.com 的天蓝色站点。然后有数百个子域,例如 foo.site.com、bar.site.com、baz.site.com 等。我的 asp.net mvc 应用程序将提取子域,因为这将用作标识符。接下来我想让其他域 CNamed 到子域。例如 hello.othersite.com -> foo.site.com,这样浏览器仍然显示 hello.othersite.com 但我可以从请求中获取 foo 子域。

我不想配置任何这些,因为会有很多子域,基本上每个帐户一个。

这真的可能吗?

我已经尝试了一些测试,但我不是 100% 确定如何进行。我会不会:

  1. 设置 site.com 以接受 *.site.com
  2. CNAME hello.othersite.com 到 foo.site.com(我想要屏蔽、转发等吗?)
  3. 传入的 http 请求是否包含有关其 CNAMED 的子域 (foo) 的任何信息?

我希望这不是太模糊和摇摆不定,但对其合理性的一些确认将是一个很大的帮助。

4

1 回答 1

0

它不仅仅是 Azure,而是整个网络。

我认为不可能摆脱hello.othersite.com它在 DNS 中实际映射到foo.site.com. 这是因为您的实际 HTTP 请求看起来像

GET /index.html HTTP/1.1
(other headers)
host: hello.othersite.com

您的 Web 服务器,无论它是什么,都不知道hello.othersites.com通过 CNAME 映射到foo.site.com. 您收到的请求是针对hello.othersite.com.

如果您进行转发,则用户将永远不会停留,hello.othersite.com而是会被重定向到foo.site.com. 我想这不是你想要的。

直接域屏蔽通常通过 iFrame 完成,这也不推荐。

我会做以下事情,因为目前没有其他想法:

  1. 设置站点以接受*.site.com*.othersite.com
  2. 将通配符 CNAME 映射添加到我的 Azure 云服务,即*.site.com-> CNAME -> my.cloudapp.net。对于我想要的两个自定义域都是一样的。
  3. 在我的应用程序中执行必要的检查以找出域映射 <-> 用户帐户。
于 2012-12-14T07:34:31.853 回答