HTTPS 安全加密传输势在必行。
最近公司开发了一款小程序的应用,但是小程序为了保证数据安全,强制要求使用HTTPS,然后就不得不去配置了一下。
之前在php开发的项目上配置过一次,使用的是wdcp的控制台程序,配置起来很简单,不需要自己修改参数,按照教程将证书文件放进去就OK了。
这次是Java项目,而且用了SpringBoot,他内部集成了tomcat,没找到怎么修改tomcat参数的方法,而且看了SpringBoot配置起来好像也不是很方便。
因此就折中选择了Nginx做服务器,转发到Java项目,经过以前的几个项目,对Nginx 的基本用法和配置还是了然于胸的。
第一步,安装Nginx
服务器使用的是CentOS 7的版本,因此,直接选择了Nginx 的源码安装,在Nginx官网下载了最新的安装包,开始按照教程进行安装。
1 | #下载后进行解压 |
安装完成后可以启动Nginx进行测试,如果出现Nginx 的欢迎页面,则安装成功。
申请SSL证书
HTTPS需要SSL证书,SSL证书的申请可以在阿里云申请免费的证书。
配置SpringBoot
在SpringBoot 的application.properties文件中进行配置:
1 | #如果使用IDEA进行开发的话,这些参数都有提示 |
配置Nginx
将申请的证书放在Nginx的安装目录下,我放在了 /usr/local/nginx/conf/cert/ 下,有两个文件,文件后缀分别为 .key和.pem
接下来在nginx.conf进行配置:
1 | server { |
上面配置完成后就可以启动Nginx 了,如果没有错误的话, 现在应该是可以进行访问了。
虽然实际步骤并不多,但是对于第一次来说,也走了很多弯路,比如安装Nginx 的时候没有安装http_ssl_moudel,然后配置完了无法启动,nginx报错提示:1
nginx:[emerg] unknown directive "ssl"
配置80端口没有转发到443,仍旧以http访问。
总之,配置的时候会出现很多意想不到的问题,还是需要耐心,并且遇到问题不要慌,仔细查看错误提示,然后上网查询,基本你遇到的问题,网上都已经有了各种各样的解答,那就需要从中筛选自己需要的解决方案。
祝所有人都有一次配置成功。
文章首发于我的公众号 欢迎关注
https://mp.weixin.qq.com/s/vF-pe8n2fho1hyArO0WYog