nginx ssl证书配置

12 阅读2分钟

背景说明

通常情况下,开发环境为了快迭代,我们都是会直接采用ip+端口的方式进行快速开发,但是一旦上线生产之后,很多问题随之暴露出来,比如最常见的数据明文传输不安全,容易被劫持等问题,还有就是对接第三方安全要求等。所以这个文章就是为了记录http升级https的过程

准备工作

证书准备

  • 证书类型说明
    • pem/cer/crt 为后缀的文件是证书文件
    • key为后缀的文件是秘钥文件

证书部署软件类型确定

  • 软件类型
    • nginx
    • lls
  • 软件版本

确认软件版本这个动作为了区分nginx1.15以下版本ssl配置文件书写不同,我们这边是1.22.0,很多人照搬之后有时候会说不行,可能就是这一步骤少做了

image.png

思路说明

我们的服务器网关是nginx,证书是第三方提供。所以,目前仅需要针对nginx进行部署即可,步骤如下

实操

上传证书和私钥文件到服务器目录下,将cerm和key放置在nginx安装目录下cert

mkdir cert
mv xx.perm xx.key /usr/local/nginx-1.22.0/cert/

image.png

修改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; # 私钥文件路径
  .....
}

image.png

image.png

测试配置文件是否有误

/usr/local/nginx-1.22.0/sbin/nginx -t

image.png

重新加载配置文件(基于test没问题)

 /usr/local/nginx-1.22.0/sbin/nginx -s reload

image.png

效果

未配置

http://{ip}:{端口}/xx

如果是走443端口那么就无需要把端口提出来了, image.png

已配置

https://{域名}:{端口}/xx

如果是走443端口那么就不需要把端口提出来了,直接域名即可

参考内容