【发布时间】:2018-08-13 03:41:11
【问题描述】:
我正在尝试在我的本地独立 tomcat 8.5.20 上启用 HTTPS。我已经看到有关该错误的各种问题,但似乎都没有帮助
这些是我采取的步骤: 1) "%JAVA_HOME%\bin\keytool" -genkey -alias tomcat -keyalg RSA -keystore C:\tomcat\conf\mykeystore.jks 输入密钥库密码 ABCDEF . . 输入密钥密码(按回车键)
请注意,在此步骤之前我不会执行 openSSL...
2) "%JAVA_HOME%\bin\keytool" -importkeystore -srckeystore C:\tomcat\conf\mykeystore.jks -destkeystore C:\tomcat\conf\mykeystore.jks - deststoretype pkcs12
3)将以下内容添加到 server.xml (最初注释掉的 SSL 有 certificateKeystoreFile 但是当我查看 apache 时,他们没有将其列为一个选项,我也删除了 keystorePass,因为它不在原始文件中):
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true" >
<SSLHostConfig>
<Certificate keystoreFile="conf/mykeystore.jks" keystorePass="ABCDEF"
type="RSA"/>
</SSLHostConfig>
</Connector>
4) 重启tomcat。
5) 在 chrome 中输入“https://localhost:8443/myapp”,它就会超时。
6) 在 catalina.log 我得到: 无法初始化与 ProtocolHandler ["https-jsse-nio-8443"] 关联的端点
我还编辑了tomcat的启动参数并添加了
-Djavax.net.ssl.trustStorePassword=changeit -Djavax.net.ssl.trustStore=c:\tomcat\conf\mykeystore.jks
即使https://tomcat.apache.org/tomcat-8.0-doc/ssl-howto.html 看起来与我的 server.xml 中的不同
【问题讨论】:
-
您使用的版本 8.0 和 8.5 之间存在显着差异,请参阅:tomcat.apache.org/tomcat-8.5-doc/ssl-howto.html
-
按照上面的文档,删除 SSLHostConfig 标签。
-
嗯。从 8-05 文档中剪切和粘贴(感谢您指出这一点)并将 keystoreFile 更改为 conf/mykeystore.jks 但这不起作用。如果我只是执行“conf/mykeystore.jks”,它会在 tomcat 的根目录下查找正确吗?
-
是的,除非您在 catalina.bat 或 setenv.bat 中更改了 TOMCAT_BASE 变量
-
好的,谢谢。最后管理它以“接受”连接。在我意识到我需要将密码更改为我的密钥库的密码之前,我一直在大脑冻结:(出于某种原因,我认为总是将密码设置为“changeit”有奇怪的原因,我本来希望 或 [ ] 或 {} 表示我的信息)