Nginx SSL 证书部署
前言
SSL证书申请 成功后,静候 10 分钟,就可以开始进行 SSL 证书部署了。本篇文章就主要介绍 Nginx SSL 证书部署的相关操作步骤。
前提条件
- 已有 SSL 数字证书
- SSL 证书绑定的域名已完成 DNS 解析,即域名与主机 IP 地址相互映射。
- Web 服务器开放了 443 端口(HTTPS 通信的标准端口)。
- 如果是阿里云 ECS 服务器,需在安全组规则入方向添加 TCP 443 端口。
详细步骤
步骤一:下载 SSL 证书
- 登录 数字证书管理服务控制台。
- 选择证书管理 > SSL 证书管理。
- 在 SSL 证书页面,定位到目标证书,在操作列,单击下载。
- 在服务器类型为 Nginx 的操作列,单击下载。(本文以 Nginx 为例)
- 解压缩已下载的 SSL 证书压缩包。
步骤二:在 Nginx 服务器安装证书
执行以下命令,在 Nginx 的 conf 目录下创建一个用于存放证书的目录。
#进入Nginx默认配置文件目录。 cd /usr/local/nginx/conf #创建证书目录,命名为cert。 mkdir cert
将证书文件和私钥文件上传到 Nginx 服务器的证书目录(/usr/local/nginx/cert)。
编辑 Nginx 配置文件 nginx.conf,修改与证书相关的配置。
执行以下命令,打开配置文件。
vi /usr/local/nginx/conf/nginx.conf
参考示例如下,自行修改。
server { #HTTPS的默认访问端口443。 #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。 listen 443 ssl; #填写证书绑定的域名 server_name <yourdomain>; #填写证书文件绝对路径 ssl_certificate cert/<cert-file-name>.pem; #填写证书私钥文件绝对路径 ssl_certificate_key cert/<cert-file-name>.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; #自定义设置使用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否需要配置) #TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差。 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示优先使用服务端加密套件。默认开启 ssl_prefer_server_ciphers on; location / { root html; index index.html index.htm; } }
执行以下命令,重启 Nginx 服务。
#进入Nginx服务的可执行目录。 cd /usr/local/nginx/sbin #重新载入配置文件。 ./nginx -s reload
其他问题
若是以上步骤全部操作完成,但是在 Nginx 重启时若遇到缺少 http_ssl_module 的错误,如何处理呢?允许 http 与 https 都可以访问又该如何配置 Nginx 呢?