【发布时间】:2017-12-14 07:36:14
【问题描述】:
我的 Web 应用在 Tomcat8 中运行,需要调用使用证书身份验证的 Web 服务。我已将证书导入 Java 的密钥库,并且 Web 应用程序可以调用 Web 服务(重启 Tomcat 后)。 那么,如何更新新证书到 Tomcat 正在运行而不需要重启呢?
【问题讨论】:
我的 Web 应用在 Tomcat8 中运行,需要调用使用证书身份验证的 Web 服务。我已将证书导入 Java 的密钥库,并且 Web 应用程序可以调用 Web 服务(重启 Tomcat 后)。 那么,如何更新新证书到 Tomcat 正在运行而不需要重启呢?
【问题讨论】:
嗯,这是 tomcat 的一个非常不利的地方。他不会自动重新加载它们。 Tomcat 是一个 web 容器,所以 webapps 应该是独立的。通过在 tomcat7 中为所有 webapps 设置一个管理器是可能的,这是一个设计错误,因为容器的 webapps 的典型独立性特征被破坏了。
在 tomcat8 afaik 中,它们在连接器初始化时被读取,并且在连接器初始化后更改被忽略。如果您更改密钥库,则必须关闭 https-connector 并再次重新激活它才能彻底重新读取密钥库。
【讨论】: