每个客户的子域名?

时间:2011-04-12 00:12:25

标签: web-applications

我正在制作一个能够(希望)为许多客户提供服务的网络应用程序。起初,我打算让mydomain.com成为登录的登陆页面,并为所有用户提供一个庞大的数据库,但后来我预测到了这种方法的缺点。例如,我想过BaseCamp,当你注册时,会为你的产品“实例”提供一个子域名,例如myclientname.basecamphq.com

我的问题是:BaseCamp是否为每个实例都有自己独立的Web应用程序,它有自己独立的数据库?有没有人有任何有用的指南来设置这个过程?

感谢。

2 个答案:

答案 0 :(得分:1)

如果您要使用子域,是的,每个域都是IIS中的单独Web应用程序。基本概念是关于IIS如何处理具有相同IP但不同地址的请求。 IIS读取Host HTTP标头,如果它是 s1.example.com ,则它引用基于bindings的peper应用程序。拥有单独的数据库是由您决定的。

如果您在概念上不需要分离,请不要因为技术问题而这样做。此外,可以根据数据库中的ParentId(tblCustomers - > tblUsers之间的一对多关系)让用户分开。

管理多个数据库/子域比bing整合解决方案更令人头疼(只考虑更改数据库设计或更改服务器的IP地址并设置DNS记录)。

答案 1 :(得分:0)

拥有将所有子域映射到同一IP的DNS服务器。然后从HTTP请求(基于名称的虚拟主机)中获取子域。如果不同子域之间绝对没有交互,则可以为每个人提供单独的数据库。这也使每个域备份变得容易。如果子域之间也存在公共状态和/或iformatiom交换,则可能需要使用共享数据库。具有单独的访问凭证的单独数据库也 在某种程度上提高了安全性。