1、下载对应的证书信息,我下载的是jks格式
2、下载完成后解压有两个文件,一个是证书文件.jks,另一个是密码文件.txt
3、将证书文件.jks放到springboot项目下的resources目录下
4、在application.yml文件中配置ssl信息
server:
port: 8080
ssl: #ssl配置
# resources根目录的”证书源文件.pfx“
key-store: classpath:*********.jks
# “.pfx”证书对应格式,“.jks"证书对应“RSA”
key-store-type: JKS
key-store-password: txsxou913dr6an
client-auth: none
key-store:配置为证书文件的位置 key-store-type:配置证书格式 key-store-password:证书密码,.txt文件中的内容
5、配置完毕之后就可以使用https访问了,但不能通过http访问了,所以为了更好的体验,配置监听http指定端口并转到指定的https端口。在启动类下添加如下代码:
/**springboot配置ssl;监控localhost:80端口转到https:localhost:8080端口
* SpringBoot-v2.0+配置方式
* @return
*/
@Bean
public ServletWebServerFactory servletContainer() {
//创建Tomcat服务器工厂实例
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
//添加此tomcat实例其它连接参数
tomcat.addAdditionalTomcatConnectors(createHTTPConnector());
return tomcat;
}
/**
* 配置tomcat自定义连接参数
* @return
*/
private Connector createHTTPConnector() {
//Connector port有两种运行模式(NIO和APR),选择NIO模式:protocol="org.apache.coyote.http11.Http11NioProtocol"
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
//启用http(80)端口
connector.setScheme("http");
//设置安全连接标志,该标志将被分配给通过该连接接收的请求
//secure新的安全连接标志
//如果connector.setSecure(true),则http使用http, https使用https; 分离状态,因此设置false
connector.setSecure(false);
//http默认端口
connector.setPort(80);
//重定向证书端口443,便于http自动跳转https
connector.setRedirectPort(8080);
return connector;
}
6、此时配置完成,通过http方式访问80端口,即可自动转到https方式访问8080端口。