我正在尝试在我的本地独立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)在“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中的内容不同
在webapps中创建名称为8443的文件夹,并将war文件重命名为root.war并粘贴war文件。然后编辑server.xml:
<Service name="Catalina8443">
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"
keystoreFile="conf/certificate.jks" keystorePass="password"
/>
<Engine name="Catalina8443" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps/8443"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>