文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Nginx 服务器 SSL 证书安装部署

2023-09-05 19:33

关注

操作场景

本文档指导您如何在 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 地址、用户名及密码。

操作步骤

证书安装

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

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

文件夹名称xxx_nginx

文件夹内容

xxx.com_bundle.crt 证书文件

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

xxx.com.key 私钥文件

xxx.com.csr CSR 文件

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

说明

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

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

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

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

 编辑 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;     } }

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

nginx -t

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

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

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

nginx -s reload

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

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

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

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

在页面中添加 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; }

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

nginx -t

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

若不存在,请执行 步骤3

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

nginx -s reload

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

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

来源地址:https://blog.csdn.net/qq_57756904/article/details/131738093

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯