SpringBoot + Nginx配置SSL证书

简介:

由于小程序访问服务器地址需要强制使用https,因此需要加服务器加SSL证书。springboot本身也可以通过tomat配置证书或者将证书集成到jar包里面,但是放在jar程序的证书格式局限在.p12格式,而生成的证书一般是crt或pem,因此转换起来很不方便。这时可以使用nginx代理https请求,从而达到用nginx配置SSL证书的目的。

安装及配置nginx

安装和配置nginx这里就不提了,可以参考之前的文章
Ubuntu安装nginx

申请SSL证书

粗略去阿里云上面看了一下,SSL证书一年要好几千,如果不是特别高要求的话,可以使用免费的SSL证书。听说阿里云也有免费的SSL证书,但是我阿里云网站证书相关的选项下没发现有免费的证书,估计是取消了。
可以尝试去腾讯云上面找,但是网站内容多,不稍加注意,也是不太好找的。这里贴出免费证书申请的链接:腾讯云免费SSL证书链接
SpringBoot + Nginx配置SSL证书_第1张图片

点击立即选购下方的免费申请域名证书后,会弹出证书品牌商的选择框,这里我们选择默认的就好了。
SpringBoot + Nginx配置SSL证书_第2张图片

点击确定之后会弹出要绑定证书的域名等资料填写,如实填写就可以了。
SpringBoot + Nginx配置SSL证书_第3张图片

点击下一步后会生成一些需要域名网站验证的信息,这时将这些信息添加到自己域名的DNS解析就可以了。这里以阿里云申请的域名为例:
登陆阿里云网站,选择产品与服务-》域名:
SpringBoot + Nginx配置SSL证书_第4张图片

选择“管理”,然后在弹出的网页中再选择“域名解析”项:
这里写图片描述

这里我们再选择“添加记录”,然后在弹出的框中将之前申请SSL证书生成的一串数据对应填写进去就可以了。
SpringBoot + Nginx配置SSL证书_第5张图片

记录值就填生成的那个记录值就好了,然后确定保存。填写后回到腾讯云刚才生成证书那里测试验证,等几分钟后就会有通知你下载证书了。

上传SSL证书和配置nginx

将申请到的证书下载下来并解压,可以看到有专门nginx文件夹命名的证书。
SpringBoot + Nginx配置SSL证书_第6张图片

将文件夹里面.crt和.key结尾的两个证书上传到服务器某个位置,这里以usr/local/nginx文件夹为例(即之前安装nginx的文件夹),在该文件夹下创建专门存放证书的文件夹cert。
生成文件夹指令:

mkdir cert

创建成功后可以看到nginx目录下多了个cert的文件夹,使用上传工具将这两个证书上传到这个文件夹下就可以了。
这里写图片描述

上传成功后,再进入旁边conf文件夹,然后编辑文件夹下nginx.conf文件(该文件主要用来配置nginx)
这里写图片描述

使用vim nginx.conf 编辑文件。
SpringBoot + Nginx配置SSL证书_第7张图片

由于我们要配置的是https,nginx默认配置的是http,因此这里先把http部分的配置注释起来。

然后把https的注释解开,配置自己证书及域名。
SpringBoot + Nginx配置SSL证书_第8张图片

到这里就可以配置完成了。

你可能感兴趣的:(SpringBoot)