背景说明
通常情况下,开发环境为了快迭代,我们都是会直接采用ip+端口的方式进行快速开发,但是一旦上线生产之后,很多问题随之暴露出来,比如最常见的数据明文传输不安全,容易被劫持等问题,还有就是对接第三方安全要求等。所以这个文章就是为了记录http升级https的过程
准备工作
证书准备
- 证书类型说明
- pem/cer/crt 为后缀的文件是证书文件
- key为后缀的文件是秘钥文件
证书部署软件类型确定
- 软件类型
- nginx
- lls
- 软件版本
确认软件版本这个动作为了区分nginx1.15以下版本ssl配置文件书写不同,我们这边是1.22.0,很多人照搬之后有时候会说不行,可能就是这一步骤少做了
思路说明
我们的服务器网关是nginx,证书是第三方提供。所以,目前仅需要针对nginx进行部署即可,步骤如下
实操
上传证书和私钥文件到服务器目录下,将cerm和key放置在nginx安装目录下cert
mkdir cert
mv xx.perm xx.key /usr/local/nginx-1.22.0/cert/
修改nginx配置文件
先备份nginx.conf,修改配置文件,配置新的server,走https默认端口443,配置证书,协议类型,通讯加密方式等
cp -rf nginx.conf nginx.conf.bak
vi nginx.conf
## 修改内容如下
server {
listen 16783 ssl;
server_name {域名};
ssl_certificate /usr/local/nginx-1.22.0/conf/cert/{域名}.pem; # 证书文件路径
ssl_certificate_key /usr/local/nginx-1.22.0/conf/cert/{域名}.key; # 私钥文件路径
.....
}
测试配置文件是否有误
/usr/local/nginx-1.22.0/sbin/nginx -t
重新加载配置文件(基于test没问题)
/usr/local/nginx-1.22.0/sbin/nginx -s reload
效果
未配置
http://{ip}:{端口}/xx
如果是走443端口那么就无需要把端口提出来了,
已配置
https://{域名}:{端口}/xx
如果是走443端口那么就不需要把端口提出来了,直接域名即可