springboot配置http跳轉(zhuǎn)https的過程
SSL是為網(wǎng)絡通信提供安全以及保證數(shù)據(jù)完整性的的一種安全協(xié)議,SSL在網(wǎng)絡傳輸層對網(wǎng)絡連接進行加密。
例:cas 的單點登陸就用到了SSL
一、安全證書的生成
1、可以使用jdk自帶的證書生成工具,jdk自帶一個叫keytool的證書管理工具,可以用它來實現(xiàn)簽名的證書。
2、先配置好基本的java環(huán)境,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監(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è)都是需要購買此證書的
到此這篇關于springboot配置http跳轉(zhuǎn)https的過程的文章就介紹到這了,更多相關springboot http跳轉(zhuǎn)https內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- springboot如何配置ssl支持https
- SpringBoot配置HTTPS及開發(fā)調(diào)試的操作方法
- springboot實現(xiàn)的https單向認證和雙向認證(java生成證書)
- SpringBoot配置Https訪問的詳細步驟
- 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的項目實踐
相關文章
Spring的Aware接口實現(xiàn)及執(zhí)行順序詳解
這篇文章主要為大家介紹了Spring的Aware接口實現(xiàn)及執(zhí)行順序詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12
Spring 中jdbcTemplate 實現(xiàn)執(zhí)行多條sql語句示例
本篇文章主要介紹了Spring 中jdbcTemplate 實現(xiàn)執(zhí)行多條sql語句示例,可以對多個表執(zhí)行多個sql語句,有興趣的可以了解一下。2017-01-01

