关于在 Tomcat 9 上设置 SSL,我有几个问题,因为我读到的一些内容有些不一致,而且我对 PKI 也是新手。最终,我试图完成两件事:在 Tomcat 9 上启用 SSL,以便在 Web 服务器上实现安全的 Websocket,并在本地进行测试。
Tomcat 配置
在 server.xml 中,已经有一个为 SSL 注释掉的连接器,如下所示
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
type="RSA" />
</SSLHostConfig>
</Connector>
在 Tomcat 的“操作方法”和其他每一篇文章中,连接器如下所示
<Connector
protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8443" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="${user.home}/.keystore" keystorePass="changeit"
clientAuth="false" sslProtocol="TLS"/>
我不确定要使用哪种配置,甚至不知道是否应该使用其他协议。此外,连接器似乎是唯一必要的 Tomcat 配置,但如果我错了,请告诉我。
密钥库
Web 服务器已在 Apache 上使用 SSL 进行 HTTPS。由于是同一个域,对 Tomcat/WSS 使用相同的证书会不会有问题?如果不是,Apache 使用 domain.crt、domain.key、My_CA_Bundle.ca-bundle 和 ca-bundle.crt。
对于本地安装,我使用 mkcert 为 localhost 创建证书,生成 localhost.pem 和 localhost-key.pem。
再次强调,我是 PKI 新手。我不确定是否需要使用 Java Keystore 文件,是否可以使用其他文件类型等。如能得到任何帮助,我将不胜感激。