集群中Tomcat TLS会话恢复

vc9ivgsu  于 2022-11-13  发布在  其他
关注(0)|答案(1)|浏览(139)

TLS允许通过会话ID或会话票证恢复会话。This post显示了如何在Apache Web服务器和Nginx中执行此操作。特别地,Apache有一个SSLSessionTicketKeyFile指令,它允许TLS会话票证由特定密钥加密,而不是在启动时随机选择密钥。这在集群中很有用,其中任何集群成员都可以打开由另一个成员通过共享密钥加密的票据。
我在Tomcat TLS文档中找不到类似的特性,但是,我找到了一个名为setTicketKeys的方法,它似乎正好可以完成我想要的任务:

public void setTicketKeys(byte[] keys)
Sets the SSL session ticket keys of this context.
Parameters:
keys - The session ticket keys

我还找到了使用此函数的a class from Facebook Nifty
我的问题是:我需要一个OpenSSLSessionContext的示例来调用setTicketKeys()。我应该如何获得这个示例?

**编辑:**如果可以通过配置来完成,那就更好了!

jvidinwx

jvidinwx1#

这实际上记录在Tomcat文档中:主要要点是:

  • 它不能仅仅通过配置来实现,因为您必须在上下文侦听器上显式地设置标志(尽管您也需要配置连接器来启用该特性!)
  • 当然,代理和SSL终止也有一些注意事项(例如,如果Tomcat终止了SSL会话,您将无法恢复到该会话)
  • 不支持APR连接器,仅支持NIO(2)连接器

相关问题