当前位置: 首页 > 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.xdnf.cn/news/1287757.html

相关文章:

  • C# 基于halcon的视觉工作流-章29-边缘提取-亚像素
  • AI Agent——基于 LangGraph 的多智能体任务路由与执行系统实战
  • 蓝桥杯电子赛----嵌入式赛道备赛LED
  • lesson36:MySQL从入门到精通:全面掌握数据库操作与核心原理
  • Python初学者笔记第二十四期 -- (面向对象编程)
  • 计算机网络1-7:第一章 概述 章节小结
  • 用 Apache Iceberg 与 Apache Spark 在 Google Cloud 打造高性能、可扩展的数据湖仓
  • 【Java Web 快速入门】九、事务管理
  • 【论文阅读】RestorerID: Towards Tuning-Free Face Restoration with ID Preservation
  • 【游戏优化笔记】开发中如何减少建筑和树木等环境元素的资源消耗?
  • 【跨服务器的数据自动化下载--安装公钥,免密下载】
  • 【CSS3】录音中。。。
  • 【oracle闪回查询】记录字段短时间被修改的记录
  • 【AI绘画】Stable Diffusion webUI 常用功能使用技巧
  • css之再谈浮动定位float(深入理解篇)
  • react+vite来优化下每次使用hook函数都要引入的情况
  • React (react-amap)高德地图使用(加标记、缩放、缩略图)
  • 荣耀手机无法连接win11电脑,错误消息:“无法在此设备上加载驱动程序 (hn_usbccgpfilter.sys)。”解决方案
  • OBOO鸥柏丨智能会议平板教学查询一体机交互式触摸终端招标投标核心标底参数要求
  • SQL Server增加对UTF-8的支持
  • Baumer高防护相机如何通过YoloV8深度学习模型实现纸箱的实时检测计数(C#代码UI界面版)
  • 谷歌ADK接入文件操作MCP
  • 力扣47:全排列Ⅱ
  • 基于Python的《红楼梦》文本分析与机器学习应用
  • 力扣 hot100 Day71
  • vivo Pulsar 万亿级消息处理实践(2)-从0到1建设 Pulsar 指标监控链路
  • [激光原理与应用-254]:理论 - 几何光学 - 自动对焦的原理
  • 数据结构:中缀到后缀的转换(Infix to Postfix Conversion)
  • Flutter GridView的基本使用
  • Java 工厂方法模式