shopify.com、github.io、volusion.com 等网站如何支持每个用户拥有多个子域?

How do sites like shopify.com, github.io, volusion.com, support multiple subdomains per user?

我喜欢第三方应用 运行 在 *.github.io *.shopify.com *.volusion.com 的想法,人们制作自己的页面(modify/use 模板),并且主机里面。 我对建筑很感兴趣,这一切是如何发生的?

这叫做multitenancy。它可以在许多不同的服务器平台上以多种方式实现。有若干件,例如:

  • URL 重写在负载平衡器或 Web 服务器级别处理的规则,让 *.site.com 充当 site.com/users,或者根据您的平台架构达到那种效果
  • 租户(用户)及其相关帐户名或子域的数据库
  • 根据调用租户的每个请求有条件地切换数据库连接(或 table 或安全修饰符等)的路由或解析代码

最终,租户只是数据库 table 某处的一行,应用程序以通用方式编写,因此每个租户都使用相同的 "base" 代码。它的工作原理和实现方式因应用程序而异。

更新:根据您的评论,这里有一些资源专门处理 ASP.NET 中的租赁: