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
4、取得一個tomcat.keystore的文件,將這個文件放到專案的目錄中二、設定SSL
1.編輯application.properties這個檔案
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; } }
##2、存取位址localhost :8080/AmazeUI-2.7.2/login.html 我自訂了一個html網頁,它已經轉向到了8443埠
############3、瀏覽器的網址列中顯示不安全:因為這個憑證是不收信任的,傳統一般都企業都是需要購買此憑證的###以上是springboot怎麼配置http跳轉https的詳細內容。更多資訊請關注PHP中文網其他相關文章!