1. 申请腾讯云免费ssl证书
1.1 登陆腾讯云在我的证书列表页面点击申请免费证书
2.2 提交资料,必填证书绑定域名以及申请邮箱,绑定域名填写springboot项目部署的服务器域名
2.3 选择验证方式,默认即可
2.4 验证域名,一般2、3分钟就验证完毕了
2.5 验证完毕后在证书列表页面下载证书文件,选择tomcat目录下的jks文件即可
证书列表
证书压缩包文件
2. springboot配置ssl证书
1.1 将jks文件导入springboot项目resoures目录下
2.2 在application.yml
文件中配置如下代码
server:
port: 443
ssl: # ssl相关配置
enabled: true
key-store: classpath:mall.wayn.ltd.jks
key-store-password: idFXdK.Rnm3CgZp
key-store-type: JKS
http-port: 8080 # http重定向https配置
2.3 添加HttpsConfiguration
文件,将 HTTP 请求重定向到HTTPS
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.server.ServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class HttpsConfiguration {
@Value("${http-port}")
private int port;
@Value("${server.port}")
private int sslPort;
@Bean
public ServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
@Override
protected void postProcessContext(Context context) {
SecurityConstraint securityConstraint = new SecurityConstraint();
securityConstraint.setUserConstraint("CONFIDENTIAL");
SecurityCollection collection = new SecurityCollection();
collection.addPattern("/*");
securityConstraint.addCollection(collection);
context.addConstraint(securityConstraint);
}
};
tomcat.addAdditionalTomcatConnectors(redirectConnector());
return tomcat;
}
private Connector redirectConnector() {
Connector connector = new Connector(TomcatServletWebServerFactory.DEFAULT_PROTOCOL);
connector.setScheme("http");
connector.setPort(port);
connector.setSecure(false);
connector.setRedirectPort(sslPort);
return connector;
}
}
- 访问浏览器http://localhost8080,会自动重定向到https://localhost
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。