SpringBoot配置SSL證書


1.將文件放入resources文件夾下

 

2.配置application文件

這樣配置啟動就是https請求才能訪問了,如果不設置端口號默認端口號為443 (截圖的時候我將ssl證書給關閉了,要開啟記得enable設為true)

 

3.錯誤Caused by: java.io.IOException: Invalid keystore format

    在配置完SSL證書的配置后我啟動一直在報Caused by: java.io.IOException: Invalid keystore format錯誤

    這個錯誤是因為maven編譯了我們的加密文件需要在pom文件加上 

     <!--解決增加ssl證書報Invalid keystore format問題-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <nonFilteredFileExtensions>
                        <!--這里是文件后綴-->
                        <nonFilteredFileExtension>pfx</nonFilteredFileExtension>
                    </nonFilteredFileExtensions>
                </configuration>
            </plugin>

 

4.設置http請求轉https

@Configuration
public class MonitorConfig {
    @Bean
    TomcatServletWebServerFactory tomcatServletWebServerFactory() {
        TomcatServletWebServerFactory factory = 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);
            }
        };
        factory.addAdditionalTomcatConnectors(createTomcatConnector());
        return factory;
    }


    private Connector createTomcatConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        connector.setPort(8083);
        connector.setSecure(false);
        connector.setRedirectPort(8096);
        return connector;
    }

 

    在網頁訪問

    

     執行后,被重定向到https的端口了,因為我這個是本地啟動的項目所以顯示不安全

      

  

  部署到服務器上后要用域名訪問


免責聲明!

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



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