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 证书前需准备的数据如下:

说明

在腾讯云官网购买的云服务器,您可以登录 云服务器控制台  获取服务器 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 文件

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

说明

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

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

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

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

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

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。修改如下内容:

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 进行访问。

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

  • 7
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
要在SSH连接的服务器安装部署Nginx SSL证书,可以按照以下步骤进行操作: 1. 连接到远程服务器: ``` ssh username@192.168.1.24 ``` 将`username`替换为你的用户名,`192.168.1.24`替换为你的服务器IP地址。 2. 安装Nginx: 如果你的服务器上尚未安装Nginx,请使用适合你服务器操作系统的包管理器安装Nginx。例如,在Ubuntu上可以使用以下命令进行安装: ``` sudo apt update sudo apt install nginx ``` 3. 准备SSL证书: 将SSL证书文件和私钥文件上传到服务器。确保证书文件和私钥文件是匹配的,并且命名符合约定(例如`cert.pem`和`key.pem`)。 4. 配置Nginx: 打开Nginx的配置文件(通常是在`/etc/nginx/nginx.conf`或`/etc/nginx/conf.d/default.conf`中),并进行以下配置更改: - 在`http`块中,添加一个新的`server`块来定义HTTPS服务器: ``` server { listen 443 ssl; server_name your-domain.com; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; ... } ``` 将`your-domain.com`替换为你的域名,将`/path/to/cert.pem`和`/path/to/key.pem`替换为SSL证书文件和私钥文件的路径。 - 如果你的应用程序使用了其他Nginx配置(如代理等),请在此`server`块中进行相应的配置更改。 5. 检查配置文件: 运行以下命令检查Nginx配置文件是否正确: ``` sudo nginx -t ``` 6. 重启Nginx服务: 如果配置文件没有错误,使用以下命令重启Nginx服务以使更改生效: ``` sudo systemctl restart nginx ``` 现在,你的Nginx服务器应该已经配置了SSL证书,并且可以通过HTTPS访问。确保你的域名已经指向了服务器的IP地址,并测试访问以验证证书是否正确安装部署

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡布奇诺-海晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值