【问题标题】:custom domain name per customer single page application每个客户单页应用程序的自定义域名
【发布时间】:2020-04-11 15:54:08
【问题描述】:

我想让我的客户能够创建自己的待办事项列表应用程序/网络。

所以,我认为他们可以注册到我的应用程序,例如: http://mytodos-app.com/signup 并提供所有首选项,例如主题、标题、名称...

现在我可以使用 url/router 功能从 url 获取一些唯一标识符并使​​用相同的应用程序,但为每个客户获取数据。

即:http://mytodos-app.com/todos/:someuniqeid

1) 听起来不错吗?还是有更好的策略来应对这种情况?

2) 如果没问题,如果我想让他们能够配置自己的域(例如在 shopify 中,您可以获得一些动态域 yourname.shopify.com)。

那么,最流行/最专业的方法是什么?我希望它对客户来说很容易。有什么建议吗?

【问题讨论】:

  • 正如问题所写,它的范围非常广泛(不是特定的编程问题,而是几个问题:动态配置、dns、路由)并鼓励基于意见的答案(避免使用“大多数”之类的词)和“更好”)。

标签: node.js reactjs nginx dns


【解决方案1】:

除了“酷因素”之外,使用实际的自定义子域没有任何好处。

您可以通过以下方式综合行为:

  1. 在 DNS 中,为 *.DOMAIN.com 设置通配符 CNAME 条目以指向 www.DOMAIN.com,请务必购买匹配的通配符 ssl/tls 证书。
  2. 配置 Web 服务器以响应所有主机名。

  3. 用户注册后。清理username(或任何标识符)值。

  4. 使用 domain=DOMAIN.com 选项设置授权 cookie 以强制它不要 成为主机 cookie。

  5. 重定向到username.DOMAIN.com。相同的服务器不同的名称。

  6. 检查路由中的 cookie 以提供正确的页面。就像 任何登录都可以。

  7. 如果没有 cookie,则使用主机信息填充 登录页面的用户名部分,或显示公共待办事项?

确保网站上托管的任何 Javascript 脚本和所有内部链接都通过相对寻址加载。

该技术比实际创建真正的子域要安全得多。

【讨论】:

    猜你喜欢
    • 2023-01-16
    • 1970-01-01
    • 2019-07-14
    • 2014-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-01
    • 2017-11-06
    相关资源
    最近更新 更多