詳解在Spring Boot中使用Https
本文介紹如何在Spring Boot中,使用Https提供服務,并將Http請求自動重定向到Https。
Https證書
巧婦難為無米之炊,開始的開始,要先取得Https證書。你可以向證書機構(gòu)申請證書,也可以自己制作根證書。
創(chuàng)建Web配置類
在代碼中創(chuàng)建一個使用了Configuration注解的類,就像下面這段代碼一樣:
@Configuration public class WebConfig { //Bean 定義... }
配置Https
在配置類中添加EmbeddedServletContainerCustomizer Bean,并在其中配置Https證書和端口號。
@Bean public EmbeddedServletContainerCustomizer containerCustomizer() { return new EmbeddedServletContainerCustomizer() { @Override public void customize(ConfigurableEmbeddedServletContainer container) { Ssl ssl = new Ssl(); //Server.jks中包含服務器私鑰和證書 ssl.setKeyStore("server.jks"); ssl.setKeyStorePassword("123456"); container.setSsl(ssl); container.setPort(8443); } }; }
配置Http使其自動重定向到Https
Embedded默認只有一個Connector,要在提供Https服務的同時支持Http,需要添加一個Connector。在配置類中添加如下配置:
@Bean public EmbeddedServletContainerFactory servletContainerFactory() { TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory() { @Override protected void postProcessContext(Context context) { //SecurityConstraint必須存在,可以通過其為不同的URL設置不同的重定向策略。 SecurityConstraint securityConstraint = new SecurityConstraint(); securityConstraint.setUserConstraint("CONFIDENTIAL"); SecurityCollection collection = new SecurityCollection(); collection.addPattern("/*"); securityConstraint.addCollection(collection); context.addConstraint(securityConstraint); } }; factory.addAdditionalTomcatConnectors(createHttpConnector()); return factory; } private Connector createHttpConnector() { Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); connector.setScheme("http"); connector.setSecure(false); connector.setPort(8080); connector.setRedirectPort(8443); return connector; }
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- 基于springboot設置Https請求過程解析
- spring boot配置ssl實現(xiàn)HTTPS的方法
- Spring Boot實現(xiàn)Undertow服務器同時支持HTTP2、HTTPS的方法
- springboot配置https訪問的方法
- SpringBoot2.0如何啟用https協(xié)議
- Spring boot通過HttpSessionListener監(jiān)聽器統(tǒng)計在線人數(shù)的實現(xiàn)代碼
- springboot添加https服務器的方法
- 詳解SpringBoot初始教程之Tomcat、Https配置以及Jetty優(yōu)化
- Spring Boot支持HTTPS步驟詳解
相關文章
SpringBoot JVM參數(shù)調(diào)優(yōu)方式
這篇文章主要介紹了SpringBoot JVM參數(shù)調(diào)優(yōu)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09解決java執(zhí)行cmd命令調(diào)用ffmpeg報錯Concat error - No such filter ''[0,0]
這篇文章主要介紹了java執(zhí)行cmd命令,調(diào)用ffmpeg報錯Concat error - No such filter '[0,0]'解決方法,本文通過截圖實例代碼說明給大家介紹的非常詳細,對大家的工作或?qū)W習有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03JAVA使用SimpleDateFormat類表示時間代碼實例
這篇文章主要介紹了JAVA使用SimpleDateFormat類表示時間代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-04-04org.springframework.web.client.ResourceAccessException資源訪問錯誤
本文主要介紹了org.springframework.web.client.ResourceAccessException資源訪問錯誤的解決方法,首先需要分析異常的詳細信息,以確定具體的錯誤原因,感興趣的可以了解一下2024-05-05spring boot定時任務接收郵件并且存儲附件的方法講解
今天小編就為大家分享一篇關于spring boot定時任務接收郵件并且存儲附件的方法講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03解決IntelliJ?IDEA輸出中文顯示為問號問題的有效方法
最近剛學到文件字節(jié)流這里,但輸出中文時,出現(xiàn)了控制臺輸出問號的情況,所以下面這篇文章主要給大家介紹了關于如何解決IntelliJ?IDEA輸出中文顯示為問號問題的有效方法,需要的朋友可以參考下2022-07-07SpringBoot生成PDF的五種實現(xiàn)方法總結(jié)
這篇文章主要介紹了SpringBoot生成PDF的五種實現(xiàn)方法,在開發(fā)中經(jīng)常會遇到需要進行對一些數(shù)據(jù)進行動態(tài)導出PDF文件,然后讓用戶自己選擇是否需要打印出來,這篇文章我們來介紹五種實現(xiàn)方法,需要的朋友可以參考下2024-10-10