![我们的客户如何使用自己的 SSL 证书来使用我们的 SaaS?](https://linux22.com/image/619048/%E6%88%91%E4%BB%AC%E7%9A%84%E5%AE%A2%E6%88%B7%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E8%87%AA%E5%B7%B1%E7%9A%84%20SSL%20%E8%AF%81%E4%B9%A6%E6%9D%A5%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E7%9A%84%20SaaS%EF%BC%9F.png)
我们提供完全托管在 Amazon Web Services (AWS) 上的软件即服务。我们主要使用 Elastic Beanstalk(弹性负载均衡器 + EC2 实例)和 RDS(数据库服务)以及许多其他服务。
我们的许多客户使用自己的域名(白标)来使用我们的服务,这不是问题。然而,当他们想使用自己的域名时,问题就来了。使用 SSL 拥有自己的域名,因为每个 ec2 实例/负载均衡器只能托管一个 SSL 证书。
到目前为止,我们有一位客户使用 SSL 证书。我们为他们设置了一个自己的环境,以便我们可以托管他们的证书。然而,这根本不切实际,因为我们现在需要在两个不同的环境(我们自己的和他们的)上进行软件更新等。这种方法不可扩展。
有解决方法吗? 是否有可能让 ec2 实例仅托管客户 SSL 证书,但仍将所有流量路由到我们的主要环境(隧道)? 或者也许在我们的负载均衡器上托管多个证书? 还有其他方法吗?
非常感谢您的意见!
答案1
事实上,这完全取决于你的应用程序的性质。
如果您提供的只是一个基于 HTTPS 的接口(SOAP、JSON 或 Web 应用程序)并且不使用基于证书的身份验证,那么您可以使用某种形式的反向代理系统。
在这种情况下,代理将有一个公共接口,使用公共(您的客户)URL 并将请求转发到您的内部系统。它仍然可以作为客户端通过您的负载均衡器。