Keytool+tomcat项目http转单向https无需改代码两个端口同时开放

前置条件

  • 本机电脑必须安装好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)

了解更多:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值