【Tomcat】Https协议的配置,使Tomcat可以接受Https的请求

写这个博客的原因是因为上个月(2018-02-08),谷歌浏览器官方部落格发布了一个未来更新的消息,原文参考:
https://blog.chromium.org/2018/02/a-secure-web-is-here-to-stay.html (蕃蔷)
【Tomcat】Https协议的配置,使Tomcat可以接受Https的请求_第1张图片

从2018年7月发布的谷歌浏览器Ver68开始,所有Http站点都将被标记为不安全网站。

因此对于Tomcat的默认配置,是不能访问Https协议的,具体配置方法如下:

1、准备
这次使用的Tomcat是9.0.6版本,
【Tomcat】Https协议的配置,使Tomcat可以接受Https的请求_第2张图片

http://tomcat.apache.org/

2、打开Tomcat的帮助文档,根据提示进行操作
【Tomcat】Https协议的配置,使Tomcat可以接受Https的请求_第3张图片

3、生成密钥
借助Java内置的\bin\keytool.exe
参数详细解释:http://blog.csdn.net/zlfing/article/details/77648430

创建密钥库

keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\https\key\tomcat.keystore -validity 36500 

【Tomcat】Https协议的配置,使Tomcat可以接受Https的请求_第4张图片

创建客户端的证书

keytool -genkey -v -alias client -keyalg RSA -storetype PKCS12 -keystore D:\client.p12 -validity 36500 

【Tomcat】Https协议的配置,使Tomcat可以接受Https的请求_第5张图片

创建服务端的证书

keytool -export -alias client -keystore D:\client.p12 -storetype PKCS12 -storepass password -rfc -file D:\clientforserver.cer
password为自己设置的口令密码

【Tomcat】Https协议的配置,使Tomcat可以接受Https的请求_第6张图片

将服务端证书导入密钥库
keytool -import -v -file D:\clientforserver.cer -keystore D:\tomcat.keystore
验证:keytool -list -keystore D:\tomcat.keystore
【Tomcat】Https协议的配置,使Tomcat可以接受Https的请求_第7张图片

导入证书
运行d:\client.p12,然后根据提示进行安装
【Tomcat】Https协议的配置,使Tomcat可以接受Https的请求_第8张图片

【Tomcat】Https协议的配置,使Tomcat可以接受Https的请求_第9张图片

【Tomcat】Https协议的配置,使Tomcat可以接受Https的请求_第10张图片

4、配置server.xml
根据tomcat.keystore的位置,修改keystoreFile
根据口令,修改keystorePass

   "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】Https协议的配置,使Tomcat可以接受Https的请求_第11张图片

5、启动Tomcat,startup.bat
【Tomcat】Https协议的配置,使Tomcat可以接受Https的请求_第12张图片

7、访问https链接
Https://127.0.0.1:8443
【Tomcat】Https协议的配置,使Tomcat可以接受Https的请求_第13张图片

你可能感兴趣的:(Tomcat)