2

我们目前有一个 SaaS 应用程序,位于app.ourcompany.com. 我试图了解让我们的客户通过自定义子域(如clients.theirbrand.com.

我做了一些研究,似乎与其他提供此服务的公司有一些共同点。

  1. 他们让他们的客户创建一个CNAME指向clients.theirbrand.com类似clientaccess.ourcompany.com.

  2. 或者应用程序具有客户端子域 ( clientname.ourcompany.com),在这种情况下,它们让客户端创建一个CNAME指向clients.theirbrand.comclientname.ourcompany.com

我尝试使用我们的额外域之一并指向app.extra.comvia app.ourcompany.comCNAME但它只是重定向到app.ourcompany.com.

我的问题围绕着我们需要做些什么来促进这一点,特别是:

  1. 我们的客户端需要通过 DNS 做什么?(只是 CNAME?)
  2. 我们需要通过 DNS 完成什么?
  3. 我们将如何合并 SSL?(我们目前使用 let encrypt on app.ourcompany.com)我们可以保护我们的一方,但客户也有需要采取的措施吗?

更新:我们正在使用 nginx 为应用程序提供服务。

4

2 回答 2

2

我知道它有点晚了,但我陷入了类似的境地,并认为这可能对像我这样的新手有帮助:)

看看:OpenResty

我们有两个要求:

  • 为所有新客户分配一个子域(例如:trumptower.mibuilding.eu
  • 允许客户自带域名 (my.trumptower.com)

第一个使用Lets encrypt 的通配符子域 ssl 非常简单。

第二个很棘手。因为我们不仅需要即时发布 SSL,还需要配置我们的网关(当时的 haproxy)并重新加载配置,从而短暂终止所有活动会话。请注意,HAproxy 和 nginx 无法使用动态配置。

带有 lua 插件的 Openresty 允许我们自动并即时地完成上述所有操作。

我们使用的模块是: lua-resty-auto-ssl

于 2020-01-16T19:36:44.013 回答
1

所以我终于想通了。

第 1 步:让您的客户设置一个CNAME指向their.domain.com您的记录app.saas.com

步骤 2. 添加their.domain.com到您的 nginx 服务器块:`server_name app.saas.com their.domain.com; 并重新加载 nginx

我现在正在为额外的域设置 SSL,当我弄清楚时会发表评论。

编辑:SSL 正在使用安装在服务器上的 SAN Let's Encrypt 证书。

于 2018-03-16T18:39:25.867 回答