我已经在 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