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

相关文章:

  • openssl中,公钥和私钥的区别和作用?
  • API 接口接入开发全演示:淘宝商品数据实时抓取
  • 代码随想录刷题Day29
  • 基于51单片机220V交流电流检测系统过流阈值报警设计
  • 通信接口与通信约规
  • 【牛客刷题】REAL806 放它一马:怪物经验值最大化策略详解
  • 【基于DesignStart的M3 SoC】
  • 终端安全检测和防御技术
  • UGUI源码剖析(6):遮罩的“魔法”与“算法”——从C#到Shader,彻底揭示Mask与RectMask2D的原理
  • OpenHarmony编译与烧录
  • HTTPS服务
  • MCU外设初始化:为什么参数配置必须优先于使能
  • Ceph的FileStore存储引擎详解
  • 如何提升需求分析能力
  • NLP—词向量转换评论学习项目分析
  • 【SpringBoot】05 容器功能 - SpringBoot底层注解的应用与实战 - @Configuration + @Bean
  • IIS Express中可以同时加载并使用.net4.0和.NET 2.0的 DLL
  • 面试八股之从jvm层面深入解析Java中的synchronized关键字
  • 使用pyqt5实现可勾选的测试用例界面
  • MM DEMO-2025 | 北航新融合LLM与多模态交互的无人机导航系统!AirStar,智能空中助手等你来体验
  • 前端/在vscode中创建Vue3项目
  • NoC设计中Router Table的作用
  • Day05 店铺营业状态设置 Redis
  • 【C++】迭代器失效问题
  • THCV215一种高速视频数据收发器,采用低电压差分信号(LVDS)技术支持高速串行数据传输,支持1080p/60Hz高分辨率传输
  • 软考备考(三)
  • 2-1〔O҉S҉C҉P҉ ◈ 研记〕❘ 漏洞扫描▸理论基础与NSE脚本
  • 26 届秋招建议指南
  • Git与CI/CD相关知识点总结
  • [激光原理与应用-251]:理论 - 几何光学 - 长焦与短焦的比较