【HTTPS实战】让你的网站更安全:免费申请SSL证书并配置HTTPS全流程

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 本文介绍如何在阿里云ECS上为网站配置HTTPS。通过使用Let's Encrypt免费SSL证书和Certbot工具,可一键申请证书并自动配置Nginx,实现数据加密与SEO优化。需准备域名、开放443端口,并设置自动续期,确保证书长期有效,让网站拥有安全锁标志,提升用户信任。

前言

在这个时代,如果你的网站还在使用 HTTP 协议,浏览器地址栏那个刺眼的“不安全 (Not Secure)”提示,足以劝退 90% 的用户。

HTTPS 不仅能加密传输数据,防止被中间人劫持(比如被运营商强行插入广告),还能提升网站在搜索引擎(SEO)中的排名。

作为第一阶段的收官之作,今天我们将实战演示:如何在阿里云ECS上,利用 Let's Encrypt 免费申请 SSL 证书,并自动配置 Nginx,让你的网站拥有那把绿色的“小锁头”。

准备工作

  1. 一台安装好 Nginx 的阿里云 ECS 服务器(参考本系列第2篇)。
  2. 重点: 一个已经购买并解析到你服务器 IP 的域名(例如 www.example.com)。
  • 注意:SSL证书是绑定域名的,不能绑定IP地址。
  1. 重点: 确保阿里云安全组已经开放了 443 端口(HTTPS 默认端口)。

第一步:安装 Certbot

我们将使用 Certbot 这个神器,它是 Let's Encrypt 官方推荐的客户端,能自动化完成证书申请和 Nginx 配置修改。

以 Alibaba Cloud Linux 3 / CentOS 7/8 为例:

Bash

# 1. 安装 EPEL 源 (如果之前装过可跳过)
yum install -y epel-release
# 2. 安装 Certbot 及其 Nginx 插件
yum install -y certbot python3-certbot-nginx

(如果是 Ubuntu 系统,使用 apt install certbot python3-certbot-nginx)

第二步:一键申请并配置证书

Certbot 最强大的地方在于它的 --nginx 插件,它会自动读取你的 Nginx 配置文件,帮你验证域名,甚至帮你修改配置。

运行以下命令(将 www.example.com 换成你的真实域名):

Bash

certbot --nginx -d www.example.com

执行过程中会发生什么?

  1. 输入邮箱: 第一次运行需要输入邮箱,用于接收证书过期提醒。
  2. 同意协议: 输入 Y 同意服务条款。
  3. 验证域名: Certbot 会自动在你的 Nginx 目录下生成一个临时文件,Let's Encrypt 服务器会通过访问这个文件来确认“你确实拥有这个域名”。
  4. 自动修改配置: 验证成功后,Certbot 会询问是否自动将 HTTP 流量重定向到 HTTPS?
  • 1 (No redirect):不强制重定向。
  • 2 (Redirect):推荐选这个,自动把所有 HTTP 请求转到 HTTPS。

第三步:验证 Nginx 配置

如果上一步执行成功,你的 Nginx 配置文件(通常在 /etc/nginx/nginx.conf)已经被自动修改了。我们可以去看一眼它改了什么:

Bash

cat /etc/nginx/nginx.conf

你会发现多了一段类似这样的代码:

Nginx

server {
    listen 443 ssl; # 监听 443 端口
    server_name www.example.com;
    # 证书路径(Certbot 自动生成的)
    ssl_certificate /etc/letsencrypt/live/www.example.com/fullchain.pem; 
    ssl_certificate_key /etc/letsencrypt/live/www.example.com/privkey.pem; 
    
    # ... 其他 SSL 优化参数 ...
}

第四步:测试 HTTPS

打开浏览器,访问 https://你的域名。 如果你看到了地址栏那把安全锁,恭喜你,你的网站已经进入加密时代!

常见排查:如果浏览器一直转圈无法访问,99% 是因为阿里云安全组没有开放 443 端口。请去阿里云控制台检查安全组规则。

第五步:设置自动续期

Let's Encrypt 的免费证书有效期只有 90天。虽然免费,但每三个月手动申请一次太麻烦了。好在 Certbot 自带续期功能。

  1. 模拟续期测试:先运行这行命令,确保续期流程没问题:
    Bash
certbot renew --dry-run
  1. 如果显示 Congratulations, all renewals succeeded,说明自动续期配置正常。
  2. 加入定时任务:Certbot 通常会自动安装定时任务(systemd timer 或 cron),我们可以手动加一道保险。 输入 crontab -e,添加一行:
    Bash
# 每月1号凌晨4点尝试续期,如果续期成功则重载 Nginx
0 4 1 * * certbot renew --quiet --deploy-hook "systemctl reload nginx"



相关文章
|
13天前
|
数据采集 人工智能 安全
|
8天前
|
编解码 人工智能 自然语言处理
⚽阿里云百炼通义万相 2.6 视频生成玩法手册
通义万相Wan 2.6是全球首个支持角色扮演的AI视频生成模型,可基于参考视频形象与音色生成多角色合拍、多镜头叙事的15秒长视频,实现声画同步、智能分镜,适用于影视创作、营销展示等场景。
663 4
|
8天前
|
机器学习/深度学习 人工智能 前端开发
构建AI智能体:七十、小树成林,聚沙成塔:随机森林与大模型的协同进化
随机森林是一种基于决策树的集成学习算法,通过构建多棵决策树并结合它们的预测结果来提高准确性和稳定性。其核心思想包括两个随机性:Bootstrap采样(每棵树使用不同的训练子集)和特征随机选择(每棵树分裂时只考虑部分特征)。这种方法能有效处理大规模高维数据,避免过拟合,并评估特征重要性。随机森林的超参数如树的数量、最大深度等可通过网格搜索优化。该算法兼具强大预测能力和工程化优势,是机器学习中的常用基础模型。
350 164
|
7天前
|
机器学习/深度学习 自然语言处理 机器人
阿里云百炼大模型赋能|打造企业级电话智能体与智能呼叫中心完整方案
畅信达基于阿里云百炼大模型推出MVB2000V5智能呼叫中心方案,融合LLM与MRCP+WebSocket技术,实现语音识别率超95%、低延迟交互。通过电话智能体与座席助手协同,自动化处理80%咨询,降本增效显著,适配金融、电商、医疗等多行业场景。
359 155