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