当前位置: 首页 > news >正文

Nginx 启用 HTTPS:阿里云免费 SSL 证书详细图文教程(新手0.5小时可完成)

一、引言

这篇文章记录了我在阿里云申请 SSL 证书并在 Nginx 上配置 HTTPS 的完整过程。

如果你的网站还在使用 http://,那用户在浏览器里可能会看到“不安全”的提示,甚至会被直接拦截。启用 HTTPS 不仅能加密数据传输、提升安全性,还能在搜索引擎排名和用户信任度上加分。

从阿里云申请证书,到把它部署到服务器,再到修改 Nginx 配置实现全站 HTTPS,整个流程并不复杂,但细节不少。

本文会一步步带你完成:创建并下载适配 Nginx 的证书、上传到服务器、设置文件权限、修改 Nginx 配置并测试访问,照着做就能一次成功。

二、在阿里云申请 SSL 证书

1. 登录阿里云控制台

在搜索框输入「数字证书管理服务」或直接进入 阿里云 SSL 证书管理。

2. 创建证书

  • 点击 “个人测试证书” 或选择已购买的证书。
  • 填写需要绑定的域名(例如 your-domain.com),根据需求选择单域名或泛域名证书。
  • 选择验证方式(推荐 DNS 验证,简单快捷)。

3. 验证域名所有权

  • 如果选择 DNS 验证,会提供一条 CNAME 记录。
  • 在你的域名解析管理中添加这条记录,并等待生效。
  • 阿里云会自动检测并完成验证。

4. 等待签发

  • 验证通过后,证书会进入 已签发 状态。
  • 这时我们就可以进行下载和部署了。

三、下载 SSL 证书(Nginx 类型)

1.进入证书管理页面

在「数字证书管理服务」中,在证书管理中找到SSL证书管理。

2. 选择下载

点击证书右侧的 “下载” 按钮。

本篇博客以Nginx为例。下载下来的证书会包含适配Nginx的.pem和.key文件,无需再进行额外的格式转换。

your-domain.com.pem    # 公钥证书
your-domain.com.key    # 私钥文件

这两个文件是我们后续配置 Nginx 所必需的。

四、上传证书到服务器并设置权限

1. 创建存放证书的目录

建议将证书统一放到 /etc/nginx/ssl/ 下,方便管理:

sudo mkdir -p /etc/nginx/ssl

也可以使用FileZilla工具直接创建文件夹。

2. 上传证书文件

使用 scp、SFTP 或其他工具,将 .pem 和 .key 文件上传到刚创建的目录,例如:

scp your-domain.com.pem root@服务器IP:/etc/nginx/ssl/
scp your-domain.com.key root@服务器IP:/etc/nginx/ssl/

或者也可以直接使用FileZilla工具上传:

3. 设置文件权限

出于安全考虑,公钥文件(.pem)可以对所有人可读,而私钥文件(.key)建议仅限 root 可读:

sudo chmod 644 /etc/nginx/ssl/your-domain.com.pem
sudo chmod 600 /etc/nginx/ssl/your-domain.com.key

这样可以避免服务器上其他用户读取到你的私钥文件。

4. 确认文件位置

最终目录结构应如下:

/etc/nginx/ssl/
├── your-domain.com.pem
└── your-domain.com.key

五、修改 Nginx 配置并启用 HTTPS

1. 进入 Nginx 配置目录

般在以下路径之一:

/etc/nginx/nginx.conf
/etc/nginx/conf.d/

建议在 /etc/nginx/conf.d/ 下新建一个配置文件,例如:

sudo nano /etc/nginx/conf.d/drama.conf

如果没有,可以改用:

sudo vim /etc/nginx/conf.d/drama.conf

2. 写入配置

将下面的内容替换为你的域名和证书路径:

# 80 端口强制跳转到 HTTPS
server {listen 80;server_name your-domain.com;return 301 https://$host$request_uri;
}# 443 端口启用 HTTPS
server {listen 443 ssl;server_name your-domain.com;# SSL 证书配置ssl_certificate /etc/nginx/ssl/your-domain.com.pem;ssl_certificate_key /etc/nginx/ssl/your-domain.com.key;ssl_protocols TLSv1.2 TLSv1.3;ssl_ciphers HIGH:!aNULL:!MD5;# 反向代理到 Spring Bootlocation / {proxy_pass http://127.0.0.1:8080; # 你的 Spring Boot 服务端口proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;}
}

3. 检查配置是否正确

sudo nginx -t

如果输出:

syntax is ok
test is successful

说明语法没有问题。

4. 重载 Nginx

sudo systemctl reload nginx

这样新的 HTTPS 配置就会立即生效。

结语

到这里,我们已经完成了从 阿里云申请 SSL 证书 到 在 Nginx 上配置 HTTPS 的完整流程。

网站启用 HTTPS 后,不仅能加密用户与服务器之间的通信,还能提升搜索引擎友好度和用户信任度。

如果你是第一次部署 HTTPS,建议在配置完成后,用浏览器和在线工具(如 SSL Labs)进行测试,确保证书链完整、加密套件安全。

后续如果证书接近到期,阿里云会提前提醒你续期;如果是托管证书,还能自动续签,几乎不用额外维护。

配置完成后,你的网站地址就可以自豪地以 https:// 开头了。

http://www.dtcms.com/a/327029.html

相关文章:

  • 从基础编辑器到智能中枢:OpenStation 为 VSCode 注入大模型动力
  • 正向传播与反向传播(神经网络思维的逻辑回归)
  • 【R语言数据分析开发指南】
  • 读《精益数据分析》:UGC平台的数据指标梳理
  • 【跨服务器的数据自动化下载--安装公钥,免密下载】
  • TinyVue表格重构性能优化详解
  • STL容器的使用时机
  • Appium+Python 实现移动应用自动化测试:从基础到实战
  • STFT、log-mel、MFCC 的区别
  • 梳理一下实现3D显示的途径有哪些?
  • QT(概述、基础函数、界面类、信号和槽)
  • Qt之QMetaEnum的简单使用(含源码和注释)
  • [激光原理与应用-253]:理论 - 几何光学 - 变焦镜头的组成原理及图示解析
  • excel-随笔记
  • 单例模式,动态代理,微服务原理
  • [特殊字符]深度解析 FastMCP:重构MCP应用开发的全维度革命
  • 当机械臂装上「智能大脑」:Deepoc具身智能模型如何重构传统自动化​
  • 力扣经典算法篇-50-单词规律(双哈希结构+正反向求解)
  • 【Golang】pprof 使用介绍:从数据采集到可视化分析
  • windows版本:Prometheus+Grafana(普罗米修斯+格拉法纳)监控 JVM
  • Webpack 介绍与使用的详细介绍
  • ChatGpt 5系列文章1——编码与智能体
  • 地图可视化实践录:显示地理区域图
  • 【Bug经验分享】由jsonObject-TypeReference引发的序列化问题
  • 完整多端口 Nginx Docker部署 + GitLab Runner注册及标签使用指南
  • Table Foundation Models: on knowledge pre-training for tabular learning(每日一文)
  • 安卓主题定制实践:17.45MB轻量级主题引擎技术解析
  • Text Animator for Unity快速上手
  • Milvus入门:开源向量数据库,解锁大模型时代的高效检索
  • 面试八股之从jvm层面深入解析Java中的synchronized关键字