springboot配置ssl证书指南

4,234 阅读2分钟
  • 最近在开发一个诗词的app,后端用的是springboot搭建的,想给服务器升级成https,原因如下
  1. https安全相对HTTP安全
  2. 后续可能会给微信小程序提供接口(微信不支持http) 言归正传,下面开始配置https

ssl证书分为自签名证书和机构认证证书,我这里选择的是使用七牛云的免费证书,其实腾讯也有免费证书。

1.先申请域名

  • 机构证书是和域名绑定的,我们需要先买一个域名
  • 这里我们使用腾讯的域名

2.申请证书

  • 七牛免费证书
https://portal.qiniu.com/certificate/ssl
  • 提交申请后七牛会让你验证域名解析,就是要在我们刚刚买的域名中添加一条解析值,如
TXT记录名:_dnsauth.(yourDomain)
TXT记录值:201910090244832l.....
  • 去域名后台添加解析记录
主机记录填写:_dnsauth
记录类型:TXT
记录值:拷贝上面2019...那串字符

接下来等待一段时间(不超过24h),就能在七牛后台下载证书了 可以自行通过cmd查询配置是否成功

nslookup -qt=txt _dnsauth.yourdomain.com

结果符合七牛要求的配置为成功

3.生成pfx

七牛证书下载下来后有两个文件:

xxx.key
xxx.crt

我们需要用xxx.crt生成一个XXX.PFX文件

打开https://www.chinassl.net/ssltools/convert-ssl.html进行在线证书格式转换。
原格式:pem
目标格式:pfx
证书文件:xxx.crt
私钥文件:xxx.key
设置一下密码
证书类别:tomcat

4.查看证书别名

  • windows下拷贝C:\Program Files\Java\jdk1.8.0_191\bin\keytools.exe到证书目录下
  • 打开cmd,进入证书目录
keytool -list  -v -keystore your.pfx -storepass pass

其中pass为你刚刚为生成pfx设置的密码 看输出结果 alias(别名):1得到了别名为1

5.springboot配置ssl证书

  • 把pfx文件拷贝到springboot src目录下面,之前找到的教程说是要放在rescource下面,这种情况本地能跑起来,放到服务器上就挂了
  • 配置application.properties文件

server.port = 443(之前忘记把80改为443端口,折腾了好久)
server.ssl.key-store = classpath:xuyida.club.pfx
server.ssl.key-store-password=yourpass
server.ssl.key-store-type= PKCS12
server.ssl.key-alias=1

key-alias是刚刚得到的别名

6.发布到linux服务器

  • nohup java -jar demo.jar

以上就是整个ssl证书配置流程啦