Nginx 服务器 SSL 证书安装部署(Linux)

首页 文档中心 证书相关 Nginx 服务器 SSL 证书安装部署(Linux)

操作场景

本文档指导您如何在 Nginx 服务器中安装 SSL 证书。

说明

本文档以证书名称 cloud.trustyssl.com 为例。

Nginx 版本以 nginx/1.18.0 为例。

当前服务器的操作系统为 CentOS 7,由于操作系统的版本不同,详细操作步骤略有区别。

安装 SSL 证书前,请您在 Nginx 服务器上开启 HTTPS 默认端口 443,避免证书安装后无法启用 HTTPS。

SSL 证书文件上传至服务器

前提条件

已准备文件远程拷贝软件,例如 WinSCP(建议从官方网站获取最新版本)。

已准备远程登录工具,例如 PuTTY 或者 Xshell(建议从官方网站获取最新版本)。

已在当前服务器中安装配置含有 http_ssl_module 模块的 Nginx 服务。

安装 SSL 证书前需准备的数据如下:

名称

说明

服务器的 IP 地址

服务器的 IP 地址,用于 PC 连接到服务器。

用户名

登录服务器的用户名。

密码

登录服务器的密码。


操作步骤

证书安装

从邮箱获取证书 , 或者在申请证书的网页 页面有下载证书按钮。

解压缩后,可获得相关类型的证书文件。其中包含 cloud.trustyssl.com_nginx 文件夹:

文件夹名称nginx_PEM 或者 nginx

文件夹内容

cloud.trustyssl.com_bundle.crt 证书文件

cloud.trustyssl.com_bundle.pem 证书文件

cloud.trustyssl.com.key 私钥文件

cloud.trustyssl.com.csr CSR 文件

说明

CSR 文件是申请证书时由您上传或系统在线生成的,提供给 CA 机构。安装时可忽略该文件

3. 使用 “WinSCP”(即本地与远程计算机间的复制文件工具)登录 Nginx 服务器。

说明

WinSCP 上传文件操作可参考 通过 WinSCP 上传文件到 Linux 云服务器。或者其他方式哈

4. 将已获取到的 cloud.trustyssl.com_bundle.crt 证书文件和 cloud.trustyssl.com.key 私钥文件从本地目录拷贝到 Nginx 服务器的 /etc/nginx 目录(此处为 Nginx 默认安装目录,请根据实际情况操作)下。

5. 远程登录 Nginx 服务器。例如,使用 “PuTTY” 工具 登录。

6. 编辑 Nginx 根目录下的 nginx.conf 文件。修改内容如下:

说明

如找不到以下内容,可以手动添加。可执行命令 nginx -t ,找到nginx的配置文件路径。

如下图示例:



tapd_10132091_base64_1665978617_57.png







此操作可通过执行 vim /etc/nginx/nginx.conf 命令行编辑该文件。

由于版本问题,配置文件可能存在不同的写法。例如:Nginx 版本为 nginx/1.15.0 以上请使用 listen 443 ssl 代替 listen 443ssl on

server {     
    #SSL 默认访问端口号为 443     
    listen 443 ssl;      
    #请填写绑定证书的域名     
    server_name cloud.tencent.com;      
    #请填写证书文件的相对路径或绝对路径     
    ssl_certificate cloud.tencent.com_bundle.crt;      
    #请填写私钥文件的相对路径或绝对路径     
    ssl_certificate_key cloud.tencent.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;     
    location / {         
        #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。         
        #例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。         
        root html;          index  index.html index.htm;     
        } 
    }


nginx -t

7.通过执行以下命令验证配置文件问题。

nginx -t


若存在,请您重新配置或者根据提示修改存在问题。

若不存在,请执行 步骤8

8. 通过执行以下命令重载 Nginx。

nginx -s reload


9. 重载成功,即可使用 https://cloud.trustyssl.com 进行访问。

HTTP 自动跳转 HTTPS 的安全配置(可选)

如果您需要将 HTTP 请求自动重定向到 HTTPS,您可以通过以下操作设置:

1. 根据实际需求,选择以下配置方式:

在页面中添加 JS 脚本。

在后端程序中添加重定向。

通过 Web 服务器实现跳转。

Nginx 支持 rewrite 功能。若您在编译时没有去掉 pcre,您可在 HTTP 的 server 中增加 return 301 https://$host$request_uri;,即可将默认80端口的请求重定向为 HTTPS。修改如下内容:

说明

未添加注释的配置语句,您按照下述配置即可。

由于版本问题,配置文件可能存在不同的写法。例如:Nginx 版本为 nginx/1.15.0 以上请使用 listen 443 ssl 代替 listen 443ssl on

server {
     #SSL 默认访问端口号为 443
     listen 443 ssl;
     #请填写绑定证书的域名
     server_name cloud.tencent.com; 
     #请填写证书文件的相对路径或绝对路径
     ssl_certificate  cloud.tencent.com_bundle.crt; 
     #请填写私钥文件的相对路径或绝对路径
     ssl_certificate_key cloud.tencent.com.key; 
     ssl_session_timeout 5m;
     #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
     #请按照以下协议配置
     ssl_protocols TLSv1.2 TLSv1.3;
     ssl_prefer_server_ciphers on;
     location / {
           #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。 
           #例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
           root html;
           index index.html index.htm;
     }
}
server {
     listen 80;
     #请填写绑定证书的域名
     server_name cloud.tencent.com; 
     #把http的域名请求转成https
     return 301 https://$host$request_uri; 
}

2.通过执行以下命令验证配置文件问题

nginx -t

若存在,请您重新配置或者根据提示修改存在问题。

若不存在,请执行 步骤3

3. 通过执行以下命令重载 Nginx。

nginx -s reload

4. 重载成功,即可使用 https://cloud.trustyssl.com 进行访问。

如果浏览器地址栏显示安全锁标识,则说明证书安装成功。如下图所示:










最新版 Chrome 浏览器显示如下图标识,则说明证书安装成功。











如果网站访问异常,请联系技术处理。


 
138    2025-03-23 15:20:00