Tomcat 8.5 配置Https
观前提示:
本文所使用的JDK版本为1.7.0_80,Tomcat版本为8.5.34。
1.生成数字证书
这里我们使用jdk自带的keytool.exe生成,我的keytool.exe所在目录为D:\Program Files\Java\jdk1.7.0_80\bin
(jdk的bin目录下)
打开cmd,使用keytool命令生成证书(如果没有配置环境变量,需要在jdk的bin目录下执行命令)
keytool -genkey -v -alias tomcat -keyalg RSA -keystore E:\apache-tomcat-8.5.34\conf\key\tomcat.keystore -validity 365
成功生成数字证书。
2.配置Tomcat的server.xml文件
修改server.xml中的配置,我的server.xml文件路径为E:\apache-tomcat-8.5.34\conf
(tomcat的conf目录下)
搜索
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true">
去掉这段代码的注释并修改如下
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true"
keystoreFile="E:\apache-tomcat-8.5.34\conf\key\tomcat.keystore" keystorePass="12345678">
<!--
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
type="RSA" />
</SSLHostConfig>
-->
</Connector>
或者修改为如下配置
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="E:\apache-tomcat-8.5.34\conf\key\tomcat.keystore"
certificateKeystoreType="JKS" certificateKeystorePassword="12345678"/>
</SSLHostConfig>
</Connector>
启动Tomcat,运行结果如下
原http的8080页能访问
==注意:==如果将8443改为其他端口,则以下代码的8443端口也需要修改
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
将如下代码段中的8443端口修改为一致的端口即可。