某个公共 SaaS 服务 a.com 需要面向多个租户,每个租户需要自定义域名和 logo 。
之前的同事设计的架构,每个租户提供一个域名,一台云服务器,域名对应的 ssl 证书,然后在云主机上部署 nginx 通过反向代理的方式将 customer.com 转发到 a.com 。
我觉得这样的设计不是最佳设计,复杂麻烦且难以运维。我见过的一些 SaaS 服务如腾讯企业邮箱,支持在管理后台上传 ssl 证书和自定义域名,如:mail.companyname.com CNAME 解析到的 ssl.exmail.qq.com 登录也是通过 mail.companyname.com 来进行登录的。实际后台服务都是腾讯的邮箱 SaaS 服务。
这个方案的代码逻辑的最佳实现是怎样做的?我知道 nginx 支持配置多个 server name 和 ssl certificate 。我想到的实现方法的逻辑是,商户登录管理平台,上传证书和填写自定义域名后,在 nginx 服务器下 生成一份 conf 文件,然后租户添加 CNAME 后指向 a.com ,就可以实现使用自己的域名 customer.com 访问了。 或者是有没有做过这个需求的人,有更优雅的实现方式?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.