Spring Boot項目配置ssl證書實現https


項目中使用HTTP不安全,所以需要使用HTTPS,HTTPS的安全基礎是SSL。項目中使用HTTPS的具體步驟如下。

  1. 申請SSL證書

    1. 騰訊雲或者其他雲申請SSL證書
    2. 域名  
  2. SSL文件放在resources,application.properties配置SSL相關配置項

    1. jks\p12放在resources
    2. application.properties配置      
1 server.port: 8092
2 server.ssl.key-store= classpath:server.jks
3 server.ssl.key-store-password=你的密碼
4 server.ssl.keyStoreType = JKS
  1. HTTP轉HTTPS

    1. 項目入口填寫轉向。通過這段配置,訪問http://localhost:8080的時候系統會自動重定向到https://localhost:8092這個地址上。
 1 @Bean
 2     public EmbeddedServletContainerFactory servletContainer() {
 3         TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() {
 4             @Override
 5             protected void postProcessContext(Context context) {
 6                 SecurityConstraint constraint = new SecurityConstraint();
 7                 constraint.setUserConstraint("CONFIDENTIAL");
 8                 SecurityCollection collection = new SecurityCollection();
 9                 collection.addPattern("/*");
10                 constraint.addCollection(collection);
11                 context.addConstraint(constraint);
12             }
13         };
14         tomcat.addAdditionalTomcatConnectors(httpConnector());
15         return tomcat;
16     }
17 
18     @Bean
19     public Connector httpConnector() {
20         Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
21         connector.setScheme("http");
22         //Connector監聽的http的端口號
23         connector.setPort(8080);
24         connector.setSecure(false);
25         //監聽到http的端口號后轉向到的https的端口號
26         connector.setRedirectPort(8092);
27         return connector;
28     }

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM