一、使用Java的keytool.exe程序生成本机的TLS许可
找到Java的jdk目录进入bin
默认安装路径C:\Program Files\Java\jdk1.8.0_91\bin
进入命令面板,在bin的路径栏中输入cmd敲击回车即可
使用keytool
keytool -genkeypair -alias tomcat_https -keypass 123456 -keyalg RSA -keysize 1024 -validity 3650 -keystore ./tomcat_https.keystore -storepass 123456
keytool命令的参数:
填写证书的基本信息
随意填写~~~
填写完成输入y确定并敲击回车键,即可在当前目录下 生成一份证书
二、配置TomCat
修改tomcat的配置文件
找到配置文件并用笔记本或其他文本编辑器打开
添加证书配置
在tomcat的配置文件中找到图中代码
添加一个 Connector
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="证书地址" keystorePass="证书访问密码" />
验证是否成功
启动tomcat
使用https访问端口8443 https://localhost:8443/,若出现下图选择高级选项再点击接受即可
出现这个界面说明配置成功
三、配置SpringBoot的HTTPS访问
添加证书
将Java生成的证书拷贝一份到springboot的资源文件包下
配置SptingBoot配置文件的证书信息
根据自己的配置文件选择对应的配置即可二选一
properties配置文件
server.ssl.protocol=TLS
server.ssl.key-store=src/main/resources/tomcat_https.keystore #证书地址
server.ssl.key-alias=tomcat
server.ssl.enabled=true
server.ssl.key-store-password=123456 #访问密码
server.ssl.key-store-type=JKS
yml配置文件
ssl:
protocol: TLS
key-store: src/main/resources/tomcat_https.keystore #证书地址
key-alias: tomcat
enabled: true
key-store-password: 123456 #访问密码
key-store-type: JKS
启动SpringBoot
访问接口请求成功即可
四、tomcat配置http自动跳转https
找到tomcat的web.xml配置文件
添加security-constraint(安全约束)
在配置文件的最下面添加security-constraint标签
security-constraint的内容为:
CLIENT-CERT
Client Cert Users-only Area
SSL
/*
CONFIDENTIAL
注意事项
开启了安全约束后service中的redirectPort参数要对应上
如:http我配置了个8080,https配置的是8443,开启安全约束后8080的配置应该为
redirectPort的值是https端口的,否则服务无法跳转,就会报错
若是对应上那么我们访问http://localhost:8080/就会自动转到https://localhost:8443/这个地址