具有多个SSL证书(SNI)的CloudBees上的多租户应用程序

时间:2013-09-09 22:51:04

标签: ssl https playframework cloudbees sni

我正在使用Play框架构建一个多租户应用程序,并使用CloudBees托管它。该网站的一个关键功能是能够在注册过程中代表我们的客户购买SSL证书。

  • 注册时,用户向我们提供其自定义域名(即customer.com)
  • 我们创建客户帐户并将customer.com与其客户ID相关联
  • 我们为客户购买SSL证书并在我们的服务器上自动配置

客户只需担心将其域名指向正确的IP地址,而不是购买自己的SSL证书。

我们在运行时需要支持的内容:

  1. 解决 http://customer.com http://www.customer.com 以获取典型请求
  2. 如果客户端没有自定义域,则解析 http://customer.ourdomain.com
  3. 在我们客户的结算过程中解析 https://customer.com/payment https://www.customer.com/payment https://customer.ourdomain.com/payment 最终用户,具体取决于他们的域设置(子域或自定义域)
  4. 我正在试图弄清楚是否可以将CloudBees与我们的SSL需求一起使用。我们假设SNI符合我们的要求,但考虑到我们可能需要在单个IP上支持数百或数千个SSL证书,我很难确定最佳配置。

    我的问题是:

    • 我们有哪些选项来支持这么多SSL证书?应该继续使用SNI和AWS Elastic Load Balancing来探索CloudBees还是我离开基地? (ELB仅支持10个开箱即用的证书。)在注册过程中,理想的流程将完全自动化。

    感谢任何建议。

2 个答案:

答案 0 :(得分:1)

CloudBees仅提供dedicated SSL router来支持SSL证书。这可以使用cloudbees SDK / API client完全自动化。但是你需要一个每个SSL证书的路由器。我不知道每个路由器支持多个证书的短期计划

答案 1 :(得分:1)

你正在与SNI走在正确的轨道上 - 但目前还没有办法在CloudBees上支持它 - 这是一个稍微不寻常的请求(但对你的用户来说是个好主意)。

如果您的客户付费 - 您可以根据需要以编程方式创建SSL revproxy服务 - 然后将SSL密钥安装到其中(但这意味着每个人都有自己的,而不是SNI多租户 - 所以不是您想要的) 。

所以没有 - 不是开箱即用,至少在我们支持SNI之前(目前还没有对它的需求,并且对SNI有一些阻力 - 但是阻力应该消失!)。