我正在 ASP.NET MVC 中开发一个多租户 Web 应用程序,它将为我的用户提供指向其帐户页面的自定义子域(如 user.myapp.com)的功能。我已经通过使用通配符 DNS 条目和代码来查询数据库以根据域加载用户数据来使其正常工作。
我计划提供使用自定义域名的可能性,允许用户购买自己的域名并使用它来代替默认提供的子域名。
我目前使用 DNSMadeEasy 来托管应用程序主域的 DNS。
我只是不知道我必须进行什么样的设置才能使此功能正常工作,因为用户的域名将托管在多家公司。我是否必须创建自己的名称服务器并将其提供给我的用户?
为了有效地实施它,我还必须考虑哪些事情?
答案1
这应该是检查主机头的情况:
string incomingUrl = Request.Url.Host;
switch (incomingUrl)
{
case "user.domain.com":
//Do your dynamic output here
break;
case "www.totallydifferentdomain.com":
//Do your dynamic output here
break;
}
一旦您的应用程序中有了类似的逻辑,那么您所要做的就是让您的用户设置他们的 DNS 以将 CNAME 指向您的服务器,这样您的服务器就会看到 Request.Url.Host 值被设置为他们的域名。