https簡介
超文本傳輸安全協議(HyperText Transfer Protocol Secure),縮寫:HTTPS;常稱爲 HTTP over TLS、HTTP over SSL 或 HTTP Secure)是一種通過計算機網絡進行安全通信的傳輸協議。HTTPS 經由 HTTP 進行通信,但利用 SSL/TLS 來加密數據包。HTTPS 開發的主要目的,是提供對網站服務器的身份認證,保護交換數據的隱私與完整性。這個協議由網景公司(Netscape)在 1994 年首次提出,隨後擴展到互聯網上。
SpringBoot支持Https:
第一步:
首先要獲取一個https證書,做實驗我們可以直接藉助 Java 自帶的 JDK 管理工具 keytool 來生成一個免費的 https 證書, (現在騰訊雲服務器免費申請)
進入java安裝目錄的bin文件中,執行dir命令,我們可以看到有一個keytool的可執行程序。我們就是用這個來生成 我們所需要的數字證書
從打印結果中我們可以看到我們需要的keytool,如果沒有的話就要重新安裝一下自己的java環境
然後執行以下代碼生成證書
keytool -genkey -alias spring -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore E:/spring.keystore -storepass 123456
在E盤下就生成一個文件
證書就生成完成了
第二步:
在springboot項目中引入https
新建一個springBoot項目將剛剛生成的證書文件拷貝到項目中的resources目錄中 , 然後在application.yml中配置
server:
ssl:
key-password: 123456
key-store: classpath:spring.keystore
key-alias: spring
配置完成後就啓動可以啓動項目了
使用http訪問會出現
使用https訪問
我們自己生成的 https 證書不被瀏覽器認可(實際項目中只需要更換一個被瀏覽器認可的 https 證書即可)。