HTTP项目转HTTPS项目
1.SpringBoot项目打jar包内置服务器启动:
1.Https证书准备:
keytool -genkey -alias lzcalm -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore D:/etc/lzcalm.keystore -storepass 123456
- -alias:证书别名
- -keypass:证书密码
- -keyalg:生证书的算法名称,RSA是一种非对称加密算法
- -keysize:密钥长度
- -validity:证书的有效期(单位:天)
- -keystore:生成的证书文件的存储路径
- -storepass:获取keystore信息的密码
2.SpringBoot项目配置:
-
将生成的证书放在resource目录下
-
配置application.yml / application.properties文件:
# 修改端口号 server: # 设置https端口 port: 9999 # 设置http端口,访问此端口将被重定向到https端口 http: port: 8888 # 定义项目的访问上下文 context-path: / # 开启https协议 ssl: key-store: classpath:lzcalm.keystore key-store-password: 123456 # 此处的key-store-type应设置为部署环境下jre里面对应的keystore.type key-store-type: jks key-alias: lzcalm
-
创建一个WebConfig配置类:
package com.slming.order.config; import org.apache.catalina.Context; import org.apache.catalina.connector.Connector; import org.apache.tomcat.util.descriptor.web.SecurityCollection; import org.apache.tomcat.util.descriptor.web.SecurityConstraint; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.sp