SpringBoot項目改造成https協議

生成證書

keytool -genkey -alias gourd -keypass 123456 -keyalg RSA -keysize 1024 -validity 3650 -keystore gourd.p12 -storepass 123456 -deststoretype pkcs12

參數:

這幾個參數對應項目yaml中配置

  • alias :祕鑰庫別名
  • storepass:祕鑰庫密碼
  • deststoretype:密鑰庫類型

操作如下,彈出的信息,隨便填寫就可以了
操作截圖

項目改造

  • 將生成的證書拷貝到項目 resources目錄
    在這裏插入圖片描述
  • 增加配置
server:
  #  支持https
  ssl:
    enabled: true
    key-store: classpath:gourd.p12
    key-store-password: 123456
    key-store-type: pkcs12
    key-alias: gourd

避坑

項目啓動報錯:
Caused by: java.io.IOException: DerInputStream.getLength():
lengthTag=111, too big.

這個問題我也遇到了,百度了很長時間,各種帖子都沒有解決,最後將密碼改成了:123456,問題解決。(原密碼:gourd123)

測試

啓動項目後,使用http訪問報錯:
在這裏插入圖片描述
使用https訪問:
在這裏插入圖片描述
當然也可以通過Nginx配置https:
https://aotu.io/notes/2016/08/16/nginx-https/index.html

項目源碼:https://blog.csdn.net/HXNLYW/article/details/104635673

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章