首頁  >  文章  >  Java  >  springboot怎麼配置http跳轉https

springboot怎麼配置http跳轉https

WBOY
WBOY轉載
2023-05-27 15:11:421512瀏覽

SSL是一種安全協議,用於確保網路通訊的安全性和資料完整性,它會在網路傳輸層對網路連線進行加密。

範例:cas 的單點登陸就用到了SSL

一、安全憑證的產生

1、可以使用jdk自帶的憑證產生工具,jdk自帶一個叫keytool的憑證管理工具,可以用它來實作簽署的憑證。

2、先設定好基本的java環境,ctrl r 輸入cmd ,進入java 的目錄

3、例:產生一個別名為tomcat 的憑證先使用指令進入jdk的bin 這裡的密碼是123456

keytool -genkey -alias tomcat -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore D:/keys/tomcat.keystore -storepass 123456

springboot怎麼配置http跳轉https

springboot怎麼配置http跳轉https

4、取得一個tomcat.keystore的文件,將這個文件放到專案的目錄中

二、設定SSL

1.編輯application.properties這個檔案springboot怎麼配置http跳轉https

package com.example;

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.context.embedded.EmbeddedServletContainerFactory;
import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
public class SpringBootHttpsApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootHttpsApplication.class, args);
    }
    @Bean
    public EmbeddedServletContainerFactory servletContainer() {
        TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() {
            @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(8080);
        connector.setSecure(false);
        //监听到http的端口号后转向到的https的端口号
        connector.setRedirectPort(8443);
        return connector;
    }

}

三、測試使用

#1、檢視啟動訊息

springboot怎麼配置http跳轉https

##2、存取位址localhost :8080/AmazeUI-2.7.2/login.html 我自訂了一個html網頁,它已經轉向到了8443埠

############3、瀏覽器的網址列中顯示不安全:因為這個憑證是不收信任的,傳統一般都企業都是需要購買此憑證的###

以上是springboot怎麼配置http跳轉https的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除