1. 阿里云官网下载证书,云控制台搜索ssl,点击进入。
2.点击免费证书,立即购买。
3. 点击创建证书,填写完证书申请后,等待证书签发。
4. 证书签发以后,点击下载证书,spring boot选tomcat服务器类型的。
5. 下载好了之后,压缩包里包含证书和一个密码文件。将证书放到项目resource目录下。
6. 在application.yml文件进行配置。
7. 在启动类添加如下代码:
/**
* http自动跳转https
*/
@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(8443);
return connector;
}
8. 前端通过 https://xxx.com:8443/xxx 来访问,http形式访问80端口。