【问题标题】:2 way ssl tomcat stateless service scale2路ssl tomcat无状态服务规模
【发布时间】:2014-02-11 02:39:31
【问题描述】:

我在 java 中有一个无状态服务,部署在一个 tomcat Web 服务器中,我还配置了 2 路 ssl 身份验证。到目前为止,一切正常。当我有一个新客户端时,我只需将新客户端证书放入我的信任库并重新启动我的服务,新客户端就可以使用我的服务。

但是我需要水平扩展,因为我的服务是无状态的,这没问题,但是如果我有 10 台服务器,我不想去每台服务器并在每个 trustore 文件中进行此更改。

有什么想法吗?

【问题讨论】:

    标签: java tomcat ssl horizontal-scaling


    【解决方案1】:

    通常的方法是在 tomcat 集群后面使用 apache 之类的负载平衡器,让它负责 SSL,这样您就可以随意横向扩展,而不必担心密钥存储和证书。这是apache ssl config 和how to set it as a load balancer 的文档。

    【讨论】:

    • 我正在使用 haproxy,一个第 3 层高可用性平衡器,因为 Apache 只给了我身份验证的可能性,所以在应用层我需要客户端证书来检查使用服务的授权。如果我使用 apache,我认为客户端证书不会传送到我正在进行负载平衡的 Web 服务器
    • 好吧,这是一个有趣的方法,TLS 是用来作为身份验证的协议,授权机制实际上是它的扩展,不过我会考虑一下,你确定TLS 为您提供了足够的灵活性来管理您的所有授权需求?我宁愿将它与其他一些授权框架结合起来,apache 也可以处理,这里有一个 LDAP 示例:stackoverflow.com/questions/7635380/…
    • 您应该能够配置您的负载均衡器以终止 SSL 连接,但仍会为您提供证书。所以只在负载均衡器上需要信任库。
    • 这是一种可能性,但是当我使用 haproxy 并且我已经通过 Tomcat 解决了所有问题时,我想知道我是否可以用 tomcat 和文件做其他事情并将这些东西放在集群中,配置 apache给我发回客户端证书是我们可以做的,但我必须打开端口 80 并在请求中等待客户端证书,这不是标准解决方案。
    猜你喜欢
    • 1970-01-01
    • 2016-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-04
    • 2020-02-29
    • 2011-02-05
    • 1970-01-01
    相关资源
    最近更新 更多