Tomcat 8 SSL server.xml 配置未考虑在内

Tomcat 8 SSL server.xml 配置未考虑在内

我已经在 Debian 服务器上安装了 Tomcat 8.5.14。

我可以创建一个密钥库和一个证书,并且一切运行正常。

但 :

  • 尽管在 server.xml 中配置了 SSL 连接器(见下文),并且密钥库应该位于 /var/lib/tomcat8/conf/ 中(并且确实在那里),但 Tomcat 仅使用位于 Tomcat 安装文件夹根文件夹中的密钥库(/var/lib/tomcat8/)
  • 密钥库的名称必须是“.keystore”

因此,为了使其工作,无需更改 SERVER.XML 中的任何内容,我必须:

  • 停止 Tomcat 服务
  • 重命名旧的 /var/lib/tomcat8/.keystore(日期有效期已过...)
  • 将 /var/lib/tomcat8/conf/keystore.jks (我创建的新证书)移动到 /var/lib/tomcat8/
  • 将 keystore.jks 重命名为 .keystore
  • 启动 Tomcat 服务

并且它起作用了,我可以在浏览器中看到新的证书。

所以,我的问题是:我在这里错过了什么?

这是 server.xml 连接器配置:

<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
                port="8443" maxThreads="200"
                scheme="https" secure="true" SSLEnabled="true"
                keystorefile="conf/keystore.jks" keystorePass="tomcat" keyAlias="tomcat"
                clientAuth="false" sslProtocol="TLS"/>

答案1

配置属性区分大小写。keystorefile因此将被忽略。需要keystoreFile

因为您的keystorefile设置被忽略,所以 Tomcat 将使用默认的路径。由于这不是绝对路径,因此它会被解析- 在您的情况下是- 因此 Tomcat 使用的文件的完整路径keystoreFile是。.keystore$CATALINA_BASE/var/lib/tomcat8/var/lib/tomcat8/.keystore

相关内容