【问题标题】:Organize DNS service for SAAS customers [closed]为 SAAS 客户组织 DNS 服务 [关闭]
【发布时间】:2020-08-03 17:45:58
【问题描述】:

这是我第一次参与SAAS 项目。

我有两个关于项目架构的问题:

  1. 关于用户的 DNS - 我如何创建 DNS 记录,以及如何创建 用户绑定自己的域?
  2. 使用一处存储的后端代码,无需为任何新用户制作副本。

项目后端使用PHP 7开发。

WIX 就是一个很好的例子(帮助用户只需点击几下即可创建漂亮网站的项目)。

注册后获得三级域名“username.wix.com”之类的,也可以绑定自己的域名。 框架后端代码存储在一个地方(肯定不能每次都为任何新用户复制它,否则服务所有者将失去对更新的所有控制并拥有大量不必要的副本)。

那么问题来了,要实现这样的架构,后端代码存放在一个地方,用户注册后得到三级域,可以绑定自己的域,应该怎么做?同时所有可执行代码都存储在一个地方(例如:SSD)并连接到所有用户?

提前感谢您提供任何信息!

【问题讨论】:

    标签: php web dns architecture saas


    【解决方案1】:

    我就是这样做的。

    第 1 步:分离

    1. 客户端网站指向通配符 DNS A 记录 *.mysite.com
    2. 您的目标网页网站 mysite.com 指向 mysite.com

    第二步:注册用户

    通过您的 mysite.com 表单注册用户,然后将其存储在您的数据库中。 这 2 个站点可能应该共享同一个数据库。

    第 3 步:根据子域呈现页面。

    • 查找域或子域是否已注册到连接到用户的数据库中。
    • 如果不存在,则呈现 404。
    • 否则呈现用户页面。

    第 4 步:自定义域

    您需要指示您的用户创建一个指向您的公共 IP 的 A 记录,并具有验证和创建与您的数据库的连接的表单。 看这里参考https://help.shopify.com/en/manual/domains/add-a-domain/using-existing-domains/connecting-domains#set-up-your-existing-domain-to-connect-to-shopify

    【讨论】:

    • 感谢您的回复!还有一个问题:如果我的客户将拥有自己的旅游商店(和旅游杂志),并且能够在他身边注册用户,那么客户的客户将能够使用他自己的域来访问我的 saas 服务,我说得对吗? ,我的客户在其下并准确输入他的区域?例如:我的客户将能够创建自己的旅游杂志并发布有关旅行的信息,也可以拥有一些小型在线商店,其中包含三种产品,客户注册后他们将拥有自己的客户。提前致谢!
    • 这是可能的。使用主 user_id 列为他们的用户创建一个单独的表,或者将其放在同一个表中,然后添加一个 parent_id 列。只需确保验证域所有者用户的每个用户登录。
    猜你喜欢
    • 2012-09-25
    • 1970-01-01
    • 2011-09-11
    • 2018-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多