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

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