【问题标题】:Subdomain per client?每个客户端的子域?
【发布时间】:2011-08-03 11:49:51
【问题描述】:

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

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

谢谢。

【问题讨论】:

    标签: web-applications


    【解决方案1】:

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

    【讨论】:

    • 您了解这个领域的任何市场趋势吗?人们普遍这样做吗?我意识到这是一个个案,但必须有整体趋势。谢谢。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多