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包放到服务器上运行即可