操作场景
本文档指导您如何在 Nginx 服务器中安装 SSL 证书。
说明:
本文档以证书名称 zhangenyu.com 为例。
Nginx 版本以 nginx/1.20.0 为例。
当前服务器的操作系统为 CentOS 7.9,由于操作系统的版本不同,详细操作步骤略有区别。
安装 SSL 证书前,请您在 Nginx 服务器上开启 “443” 端口,避免证书安装后无法启用 HTTPS。
操作步骤
证书安装
请在 SSL 证书管理控制台 中选择您需要安装的证书并单击下载。 在弹出的 “证书下载” 窗口中,服务器类型选择 Nginx,单击下载并解压缩 zhangenyu.com 证书文件包到本地目录。 解压缩后,可获得相关类型的证书文件。其中包含 zhangenyu.com_nginx 文件夹: 文件夹名称:zhangenyu.com_nginx 文件夹内容: zhangenyu.com_bundle.crt 证书文件 zhangenyu.com_bundle.pem 证书文件(可忽略该文件) zhangenyu.com.key 私钥文件 zhangenyu.com.csr CSR 文件
说明:
CSR 文件是申请证书时由您上传或系统在线生成的,提供给 CA 机构。安装时可忽略该文件。
证书文件传输
将已获取到的 zhangenyu.com_bundle.crt 证书文件和 zhangenyu.com.key 私钥文件从本地目录拷贝到 Nginx 服务器的 /www/server/nginx 目录(此处请根据实际情况操作)下。
首页Nginx修改配置
server {
listen 443 ssl;
ssl_certificate /www/server/nginx/zzysite/zhangenyu.com_bundle.crt;
ssl_certificate_key /www/server/nginx/zzysite/zhangenyu.com.key;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
server_name www.zhangenyu.com;
location / {
uwsgi_pass 0.0.0.0:9005;
include uwsgi_params;
}
location /static{
alias 这里填自己的静态文件位置
}
}
重启Nginx访问www.zhangenyu.com就可以了
HTTP 自动跳转 HTTPS 的安全配置(可选)
如果您需要将 HTTP 请求自动重定向到 HTTPS。您可以通过以下操作设置:
根据实际需求,选择以下配置方式:
在页面中添加 JS 脚本。
在后端程序中添加重定向。
通过 Web 服务器实现跳转。
Nginx 支持 rewrite 功能。若您在编译时没有去掉 pcre,您可在 HTTP 的 server 中增加 return 301 https://request_uri;,即可将默认80端口的请求重定向为 HTTPS。修改如下内容:
server {
listen 80;
server_name www.zhangenyu.com;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}
若修改完成,重启 Nginx。即可使用 www.zhangenyu.com 进行访问。