生成證書
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