服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Nginx - Nginx 服务器 SSL 证书安装部署

Nginx 服务器 SSL 证书安装部署

2023-10-11 13:44卡布奇诺-海晨 Nginx

本文档指导您如何在 Nginx 服务器中安装 SSL 证书。当前服务器的操作系统为 CentOS 7,由于操作系统的版本不同,详细操作步骤略有区别。

Nginx 服务器 SSL 证书安装部署

操作场景

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

说明

本文档以证书名称 xxx为例。

Nginx 版本以 nginx/1.18.0 为例。

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

安装 SSL 证书前,请您在 Nginx 服务器上开启 HTTPS 默认端口 443,避免证书安装后无法启用 HTTPS。具体可参考 服务器如何开启443端口?

SSL 证书文件上传至服务器方法可参考 如何将本地文件拷贝到云服务器。

前提条件

已准备文件远程拷贝软件,例如 WinSCP(建议从官方网站获取最新版本)。 若您需部署到腾讯云云服务器,建议使用云服务器的文件上传功能。

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

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

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

Nginx 服务器 SSL 证书安装部署

说明

在腾讯云官网购买的云服务器,您可以登录 云服务器控制台  获取服务器 IP 地址、用户名及密码。

操作步骤

证书安装

1. 请在 SSL证书管理控制台中选择您需要安装的证书并单击下载

2. 在弹出的 “证书下载” 窗口中,服务器类型选择 Nginx,单击下载并解压缩 xxx证书文件包到本地目录。 解压缩后,可获得相关类型的证书文件。其中包含xxx_nginx 文件夹:

文件夹名称:xxx_nginx

文件夹内容

xxx.com_bundle.crt 证书文件

xxx.com_bundle.pem 证书文件(可忽略该文件)

xxx.com.key 私钥文件

xxx.com.csr CSR 文件

Nginx 服务器 SSL 证书安装部署

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

说明

WinSCP 上传文件操作可参考 通过 WinSCP 上传文件到 Linux 云服务器。

若您需部署到腾讯云云服务器,建议使用云服务器的文件上传功能。详情请参见 上传文件到云服务器。

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

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

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

Nginx 服务器 SSL 证书安装部署

server {     #SSL 默认访问端口号为 443     listen 443 ssl;      #请填写绑定证书的域名     server_name xxx;      #请填写证书文件的相对路径或绝对路径     ssl_certificate xxx_bundle.crt;      #请填写私钥文件的相对路径或绝对路径     ssl_certificate_key xxx.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;     } }​

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

nginx -t

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

若不存在,请执行 步骤8。

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

nginx -s reload

9、重载成功,即可使用 https://xxx进行访问。

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

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

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

在页面中添加 JS 脚本。

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

通过 Web 服务器实现跳转。

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

Nginx 服务器 SSL 证书安装部署

server { #SSL 默认访问端口号为 443 listen 443 ssl; #请填写绑定证书的域名 server_name xxx;  #请填写证书文件的相对路径或绝对路径 ssl_certificate  xxx_bundle.crt;  #请填写私钥文件的相对路径或绝对路径 ssl_certificate_key xxx.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 xxx.com;  #把http的域名请求转成https return 301 https://$host$request_uri; }​

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

nginx -t

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

若不存在,请执行 步骤3。

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

nginx -s reload

重载成功,即可使用 https://xxx 进行访问。

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

Nginx 服务器 SSL 证书安装部署

到此这篇关于Nginx 服务器 SSL 证书安装部署的文章就介绍到这了,更多相关内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/qq_57756904/article/details/131738093

延伸 · 阅读

精彩推荐