是否可以在一个 Jelastic 应用程序上设置多个 SSL?

Is it possible to setup multiple SSL on one Jelastic app?

我想问一下,在 Jelastic 中,在一个 IP 上配置多个 SSL 是否可以使用 Nginx 负载均衡器。

此用法适用于接收来自多个自定义域的请求的代理服务器。

例如:

example-proxy.com 指向分配给 Jelastic Jetty 应用程序的 Public IP 地址。

现在自定义域指向 Jetty 应用程序

custom-domain-example.com CNAME www 指向 example-proxy.com 等。 custom-domain-example-N.org CNAME www 指向 example-proxy.com

是的,这是可能的,但您需要手动配置它(仅在 nginx 配置中)而不是使用 Jelastic dashboard/API SSL 功能。

另一点要记住,因为每个容器有 1 个 IP,所以只能通过 SNI 提供多个 SSL 证书。这可能对您有影响,具体取决于您的用户使用的浏览器:在大多数情况下现在没问题(旧手机 OS 和 Windows XP 是主要的例外)

BindSSL API 方法允许您在您环境的外部节点上自动配置 一个 SSL 证书(在您的情况下为 Nginx 负载均衡器).如果您尝试 BindSSL 多次,您只需替换现有证书(而不是添加多个证书)。

基本上这个功能是在 SNI 被广泛接受之前构建的,因此假设有 1 个 SSL 证书。每 1 个环境。您可以在此处阅读有关 SNI 的更多信息,以就它是否适合您的需求做出明智的决定:http://blog.layershift.com/sni-ssl-production-ready/

满足您需求的替代方法是购买多域 SSL 证书(SAN 证书)。这使您可以在 1 个证书中包含多个主机名。既然您提到您是我们的客户,您可以联系我们的 SSL 团队以获得此选项的 details/pricing。

如果您仍想使用多个 SSL 证书并通过 SNI 为它们提供服务,您可能需要使用 Read and Write API 方法来保存 SSL 证书部分和配置。 Nginx 节点上的文件。

不要忘记在任何配置后重启 nginx 服务(你可以使用 RestartNodeById)。变化。

编辑:正如您提到的,您的最终用户将控制此过程,您可能更喜欢使用 reload 而不是 restart(参见 http://nginx.org/en/docs/beginners_guide.html#control)。

您可以通过 Jelastic API 使用 ExecCmdByIdcommandList=[{"command": "sudo service nginx reload"}]

调用它

但是如果您允许最终用户通过您的应用程序上传他们自己的证书,请务必小心——您需要确保他们上传的是真正的证书并且没有恶意...