前置条件
- 本机电脑必须安装好jdk并配置好环境变量
- 准备一个
tomcat
待测试 - 在
D
盘下新建一个名为keys
的文件夹
证书生成
生成证书的方式很多,这里使用jdk
自带的keytool
生成。里面的参数可以不用改直接复制到cmd
命令行里执行就可以,如果业务需要根据情况修改参数下面有参数的详细介绍。执行完下面命令在电脑的D:\keys
的目录下生成一个tomcat.keystore
文件。(如果报错检查有没有创建目录D:\keys
)
keytool -genkey -v -alias tomcatip -dname CN=localhost,OU=test,O=test,L=test,ST=test,C=cn -ext san=ip:127.0.0.1 -keyalg RSA -keysize 1024 -validity 3650 -storepass 123456 -keypass 123456 -keystore D:\keys\tomcat.keystore
参数介绍:
- -genkey:生成方式支持对称和非对称
- -alias:后面设置别名
- -dname: CN后面跟的是域名或者IP
- -keyalg:后面设置加密方式
- -validity:证书的有效期,单位是天。
- -storepass:秘钥库密码
- -keypass:秘钥密码
- -keystore:生成证书的保存位置
修改Tomcat配置
找到Tomcat安装位置进入conf目录,将生成的tomcat.keystore
文件拷贝到当前目录下。
在当前目录下找到server.xml
文件打开编辑配置。
1、默认的http端口配置
<!-- http请求端口配置 -->
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8553" />
2、新增的https端口配置
<!-- https请求端口配置 -->
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystorePass="123456"
keystoreFile="conf/tomcat.keystore" />
注意:第一个默认的http
配置是Tomcat
本身就有,第二个https
的端口配置可以直接复制黏贴到server.xml
文件。根据项目需求是开放一个https
端口还是两个都开放。如果只开https
第一个默认的配置就注释掉。这里测试两个都开。
测试
修改完配置后启动Tomcat,先测试https端口访问:https://127.0.0.1:8443>
访问进入如下界面点击高级
再点击继续前往
来到如下界面表示https访问成功。
测试http端口访问:http://127.0.0.1:8080>
看到下图界面表示http访问成功。
下载体验
做了一个例子可以拿去直接使用,也可以体验一下。(点击这里下载demo)
了解更多: