springboot支持https請求的實現(xiàn)
前言
眾所周知,http是不安全的協(xié)議,那么要使服務(wù)器支持https,該如何在spring項目中配置呢?
一、借助keytools
正常來說,證書都是CA機構(gòu)頒發(fā)的,但是我們也可以自己借助 Java 自帶的 JDK 管理工具 keytool 來生成一個免費的 https 證書,只不過這種證書不被操作系統(tǒng)和瀏覽器信任罷了。
這個keytools工具在哪呢?
就在JDK的安裝目錄下的bin包下面。
二、詳細步驟
1.在這個bin目錄下直接輸入cmd,打開命令行窗口:
2.輸入如下命令:
keytool -genkey -alias anyname -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore D:\httpsKey.p12 -validity 3650
命令含義如下:
keytool: 表示keytool工具
genkey:表示要創(chuàng)建一個新的密鑰。
alias:表示 keystore 的別名。anyname 都可以。
storetype:表示密鑰的倉庫類型,存儲格式是PKCS12.
keyalg:表示使用的加密算法是 RSA ,一種非對稱加密算法。
keysize:表示密鑰的長度。這里是2048.
keystore:表示生成的證書文件存放位置。 這里是D:\httpsKey.p12 ,有時候放C盤可能有權(quán)限問題
validity:表示證書的有效時間,單位為天。這里是3650天也就是十年。
3.然后跟著如下圖所示一個一個輸入就行。
密碼以123456為例子:
4.然后我們就能在D盤看到一個httpskey.p12證書文件
三、配置spring項目支持https
在我們的項目中找到application.properties 文件
然后直接輸入
server.ssl.key-store=D:\httpsKey.p12 server.ssl.key-store-password=123456 server.ssl.keyStoreType=PKCS12 server.ssl.keyAlias=anyname
然后運行服務(wù)器就可以了。
此時,瀏覽器地址欄中輸入 http://127.0.0.1:8080/
會導(dǎo)致錯誤請求:
咱們只能用https來訪問,地址欄輸入https://127.0.0.1:8080/
,會顯示如下:
這是因為我們自己生成的 https 證書不被瀏覽器認可,(實際項目中只需要更換一個被瀏覽器認可的 https 證書即可),我們打開高級,接收并繼續(xù)就可以了。
由于考慮到 Spring Boot 不支持同時啟動 HTTP 和 HTTPS ,為了解決這個問題,我們這里可以配置一個請求轉(zhuǎn)發(fā),當(dāng)用戶發(fā)起 HTTP 調(diào)用時,自動轉(zhuǎn)發(fā)到 HTTPS 上:
參考文章如下:
總結(jié)
以上就是spring boot支持https請求的詳細步驟了,和一些教程不一樣,但是其實都是差不多的,我這里省去了不少步驟,更方便快捷~~更多相關(guān)springboot https請求內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 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如何將http轉(zhuǎn)https
- SpringBoot中支持Https協(xié)議的實現(xiàn)
- SpringBoot整合HTTPS的項目實踐
相關(guān)文章
Java使用訪問者模式解決公司層級結(jié)構(gòu)圖問題詳解
這篇文章主要介紹了Java使用訪問者模式解決公司層級結(jié)構(gòu)圖問題,結(jié)合實例形式分析了訪問者模式的概念、原理及Java使用訪問者模式解決公司曾經(jīng)結(jié)構(gòu)圖問題的相關(guān)操作技巧與注意事項,需要的朋友可以參考下2018-04-04java數(shù)據(jù)結(jié)構(gòu)圖論霍夫曼樹及其編碼示例詳解
這篇文章主要為大家介紹了java數(shù)據(jù)結(jié)構(gòu)圖論霍夫曼樹及其編碼示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪2021-11-11Java內(nèi)存模型之重排序的相關(guān)知識總結(jié)
重排序是指編譯器和處理器為了優(yōu)化性能而對指令序列進行重新排序的一種手段,文中詳細介紹了Java重排序的相關(guān)知識,需要的朋友可以參考下2021-06-06Java.lang.NullPointerException的錯誤解決
Java中NullPointerException是一種常見的運行時異常,通常發(fā)生在嘗試調(diào)用null對象的方法或訪問其屬性時,具有一定的參考價值,感興趣的可以了解一下2024-09-09SpringBoot+thymeleaf+ajax實現(xiàn)局部刷新詳情
這篇文章主要介紹了SpringBoot+thymeleaf+ajax實現(xiàn)局部刷新詳情,文章圍繞主題展開詳細的內(nèi)容介紹具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09