-
阿里云获取一个免费的 CA 证书。下载其 Tomcat 版本。
-
下载的安装包里面有两个文件:xxx.pfx 和 pfx-password.txt 。
-
将 xxx.pfx 文件放到项目根目录,并在 application.yml 中配置。
server: port: 443 ssl: key-store: mysecurity.pfx key-store-password: Hanf9m0N
-
启动类中的配置。
package cn.jujianfei.blog; 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.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; import org.springframework.context.annotation.Bean; /** * @author jujianfei */ @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Bean public TomcatServletWebServerFactory servletContainer() { TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() { @Override protected void postProcessContext(Context context) { SecurityConstraint constraint = new SecurityConstraint(); constraint.setUserConstraint("CONFIDENTIAL"); SecurityCollection collection = new SecurityCollection(); collection.addPattern("/*"); constraint.addCollection(collection); context.addConstraint(constraint); } }; tomcat.addAdditionalTomcatConnectors(httpConnector()); return tomcat; } @Bean public Connector httpConnector() { Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); connector.setScheme("http"); //Connector监听的http的端口号 connector.setPort(80); connector.setSecure(false); //监听到http的端口号后转向到的https的端口号 connector.setRedirectPort(443); return connector; } }
-
打包项目,部署到阿里云,在jar包同级目录中放入 xxx.pfx 文件。启动项目。
https://blog.51cto.com/11883699/2160032
https://blog.csdn.net/qiushi_1990/article/details/79915880
https://www.tutorialspoint.com/spring_boot/spring_boot_enabling_https.htm
https://www.jianshu.com/p/8d4aba3b972d
https://blog.csdn.net/qq_40715775/article/details/82780881
https://blog.csdn.net/qq_31489805/article/details/80105928 (后台部署)
https://blog.csdn.net/xu906722/article/details/82558890 (后台部署)