springboot配置http跳轉(zhuǎn)https的過程
SSL是為網(wǎng)絡(luò)通信提供安全以及保證數(shù)據(jù)完整性的的一種安全協(xié)議,SSL在網(wǎng)絡(luò)傳輸層對網(wǎng)絡(luò)連接進(jìn)行加密。
例:cas 的單點登陸就用到了SSL
一、安全證書的生成
1、可以使用jdk自帶的證書生成工具,jdk自帶一個叫keytool的證書管理工具,可以用它來實現(xiàn)簽名的證書。
2、先配置好基本的java環(huán)境,ctrl+r 輸入cmd ,進(jìn)入java 的目錄
3、例:生成一個別名叫tomcat 的證書 先使用命令進(jìn)入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監(jiān)聽的http的端口號 connector.setPort(8080); connector.setSecure(false); //監(jiān)聽到http的端口號后轉(zhuǎn)向到的https的端口號 connector.setRedirectPort(8443); return connector; } }
三、測試使用
1、查看啟動信息
2、訪問地址localhost:8080/AmazeUI-2.7.2/login.html 我自定義了一個html網(wǎng)頁,它已經(jīng)轉(zhuǎn)向到了8443端口
3、瀏覽器的地址欄中顯示不安全:因為這個證書是不收信任的,傳統(tǒng)一般都企業(yè)都是需要購買此證書的
到此這篇關(guān)于springboot配置http跳轉(zhuǎn)https的過程的文章就介紹到這了,更多相關(guān)springboot http跳轉(zhuǎn)https內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- springboot如何配置ssl支持https
- SpringBoot配置HTTPS及開發(fā)調(diào)試的操作方法
- springboot實現(xiàn)的https單向認(rèn)證和雙向認(rèn)證(java生成證書)
- SpringBoot配置Https訪問的詳細(xì)步驟
- SpringBoot配置Https入門實踐
- springboot項目開啟https協(xié)議的項目實現(xiàn)
- SpringBoot的HTTPS配置實現(xiàn)
- springboot如何將http轉(zhuǎn)https
- springboot支持https請求的實現(xiàn)
- SpringBoot中支持Https協(xié)議的實現(xiàn)
- SpringBoot整合HTTPS的項目實踐
相關(guān)文章
Spring的Aware接口實現(xiàn)及執(zhí)行順序詳解
這篇文章主要為大家介紹了Spring的Aware接口實現(xiàn)及執(zhí)行順序詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12Spring思維導(dǎo)圖助你輕松學(xué)習(xí)Spring
這篇文章主要為大家詳細(xì)介紹了Spring思維導(dǎo)圖,幫助你輕松學(xué)習(xí)Spring的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03Spring 中jdbcTemplate 實現(xiàn)執(zhí)行多條sql語句示例
本篇文章主要介紹了Spring 中jdbcTemplate 實現(xiàn)執(zhí)行多條sql語句示例,可以對多個表執(zhí)行多個sql語句,有興趣的可以了解一下。2017-01-01