1、申请免费证书
购买完成后,申请签发,大概需要等待一刻钟左右(很快)然后根据需要下载证书,这里使用Tomcat版
在证书控制台下载Tomcat版本证书,下载到本地的是一个压缩文件,解压后里面包含.pfx文件是证书文件,pfx_password.txt是证书文件的密码。
友情提示: 每次下载都会产生新密码,该密码仅匹配本次下载的证书。如果需要更新证书文件,同时也要更新密码。
2、配置文件
- 开放服务器443端口
- 下载证书,将证书放到resource目录下
- application.yml配置
# 环境配置
server:
# 服务器的HTTP端口,默认为80
port: 443
ssl:
# 配置证书路径
key-store: xxx.pfx
# 证书密码
key-store-password: xxx
key-store-type: PKCS12
3、配置SSLConfig
@Configuration
public class SSLConfig {
//取得application.properties或application.yml中的值
@Value("${server.port}")
private int port;
@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(createSslConnector());
return tomcat;
}
private Connector createSslConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
connector.setPort(80);
connector.setSecure(false);
connector.setRedirectPort(port);//将对http:80的访问重定向至https:443,所以配置文件中的端口不能是80,也要改为443
return connector;
}
}
最后打好jar包放到服务器上运行即可
当前共有 0 条评论