2026 年 SSL 证书免费申请全攻略:从入门到自动化管理

引言

2026 年了,如果你的网站还在用 HTTP,那基本等同于在门口挂个牌子写着"欢迎来偷数据"。

SSL 证书早已不是"可有可无"的选项——Google 把 HTTPS 作为排名信号,浏览器对 HTTP 站点标红警告,用户看到"不安全"三个字转头就走。但很多人还在花冤枉钱买证书,或者被复杂的申请流程劝退。

今天这篇攻略,我就把 SSL 证书免费申请这件事彻底讲透,从基础概念到自动化管理,让你零成本搞定全站 HTTPS。


在这里插入图片描述

一、SSL 证书到底是什么?

简单说,SSL 证书就是网站的"身份证" + “加密器”。

两个核心作用:

  1. 身份验证 - 证明这个网站确实是它声称的那个,不是钓鱼网站
  2. 数据加密 - 用户和服务器之间的通信全程加密,中间人偷看也看不懂

证书类型速览:

类型 验证方式 适用场景 价格
DV(域名验证) 验证域名所有权 个人博客、小网站 免费
OV(组织验证) 验证企业信息 企业官网 ¥500-2000/年
EV(扩展验证) 严格企业审核 金融、电商 ¥3000+/年

对于 90% 的网站,DV 证书完全够用,而且——重点来了——可以免费申请


二、免费 SSL 证书获取方式

2.1 Let’s Encrypt:免费证书的老大哥

Let’s Encrypt 是全球最大的免费证书颁发机构,由 ISRG(互联网安全研究小组)运营,完全公益性质。

核心优势:

  • 完全免费
  • 自动化程度高
  • 90 天有效期(强制续期,促进自动化)
  • 被所有主流浏览器信任

申请方式:

最常用的是 Certbot 工具,以 Nginx 为例:

# 安装 Certbot
sudo apt install certbot python3-certbot-nginx

# 一键申请并配置
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

执行后 Certbot 会:

  1. 自动验证域名所有权(HTTP 挑战或 DNS 挑战)
  2. 生成证书文件
  3. 自动修改 Nginx 配置
  4. 配置自动续期

2.2 其他免费证书提供商

ZeroSSL

  • 90 天免费证书
  • 提供 Web 界面,适合新手
  • 支持 API 自动化

Google Trust Services

  • 2024 年推出的新玩家
  • 完全免费,90 天有效期
  • 需要配合 ACME 客户端使用

Cloudflare SSL

  • 边缘证书免费
  • 一键开启,无需配置
  • 注意:这是代理证书,源服务器仍需证书

三、自动续期:告别手动操作

Let’s Encrypt 证书有效期 90 天,官方建议 60 天左右续期。手动操作?那太痛苦了。

3.1 Certbot 自动续期

Certbot 安装后会自动创建 systemd timer 或 cron 任务:

# 检查自动续期任务
sudo systemctl list-timers | grep certbot

# 手动测试续期(不会真正续期,只测试)
sudo certbot renew --dry-run

3.2 DNS 挑战自动续期

对于通配符证书(*.yourdomain.com),需要用 DNS 挑战。传统方式需要手动添加 TXT 记录,但可以用 API 自动化。

以阿里云 DNS 为例:

# 安装 acme.sh
curl https://get.acme.sh | sh

# 配置阿里云 API Key
export Ali_Key="your_access_key"
export Ali_Secret="your_access_secret"

# 申请通配符证书
~/.acme.sh/acme.sh --issue --dns dns_ali -d '*.yourdomain.com' -d 'yourdomain.com'

# 安装证书
~/.acme.sh/acme.sh --install-cert -d '*.yourdomain.com' \
  --cert-file /etc/ssl/certs/yourdomain.crt \
  --key-file /etc/ssl/private/yourdomain.key \
  --fullchain-file /etc/ssl/certs/yourdomain.fullchain.crt

acme.sh 会自动配置 cron 任务,到期前自动续期。


四、更优雅的方案:SSL Manage 自动化管理

说到这,我得提一个我最近在用的工具——SSL Manage(ssl.dnsjia.com)。

用了一年后,我把它加入了我的标准技术栈。原因很简单:它把上述所有繁琐步骤打包成了一个直观的管理界面

4.1 为什么需要 SSL Manage?

当你只有一两个域名时,Certbot/acme.sh 够用。但当你管理多个域名、多个服务器、不同 DNS 提供商时,事情就变得复杂:

  • 每个服务器的续期日志要单独检查
  • 不同 DNS 提供商的 API Key 分散存储
  • 证书到期时间不统一,容易遗漏
  • 团队成员之间协作困难

SSL Manage 解决的就是这些问题。
在这里插入图片描述

4.2 核心功能实测

1. 永久免费版支持 3 个域名

这点很良心。很多工具打着"免费"旗号,实际限制重重。SSL Manage 的免费版实打实支持 3 个域名的完整功能,包括自动续期、DNS 挑战、证书监控。

2. 多云 DNS 兼容

支持阿里云、腾讯云、Cloudflare、AWS Route53 等主流 DNS 提供商。配置一次 API Key,所有域名统一管理:

界面操作示例:
1. 添加域名 → 选择 DNS 提供商 → 填入 API Key
2. 一键申请证书 → 自动完成 DNS 挑战
3. 证书自动部署 → 支持 Webhook 通知服务器更新

3. 自动化管理

  • 自动续期:证书到期前 30 天自动触发续期
  • 到期提醒:邮件、Webhook 多渠道通知
  • 证书监控:实时查看证书状态、有效期
  • 部署日志:每次续期、部署都有详细记录

4. 团队协作

可以邀请团队成员,分配不同权限。比如给运维只读权限,给开发申请权限,避免 API Key 到处传。

4.3 适用场景

适合用 SSL Manage:

  • 管理 3 个以上域名
  • 使用多个 DNS 提供商
  • 需要团队协作
  • 想要可视化监控证书状态

继续用命令行:

  • 只有一两个域名
  • 喜欢完全控制
  • 已经有成熟的自动化脚本

我自己的做法:个人小项目用 acme.sh,公司项目和客户项目用 SSL Manage。工具没有高低,只有合适与否。


五、常见问题解答

Q1: 免费证书和付费证书有区别吗?

技术层面:加密强度完全一样,浏览器信任度一样。

区别在于

  • 有效期:免费 90 天,付费 1-2 年
  • 支持:付费有技术支持
  • 保险:部分付费证书包含保险赔付
  • 类型:EV 证书只能付费购买

对于绝大多数网站,免费证书完全够用。

Q2: 证书续期失败怎么办?

常见原因:

  1. DNS 记录未生效 - 等待几分钟重试
  2. API Key 权限不足 - 检查 DNS API 权限
  3. 防火墙阻挡 - 确保 80/443 端口开放
  4. 速率限制 - Let’s Encrypt 有每周申请限制

排查步骤:

# 查看详细日志
sudo certbot renew --verbose

# 检查端口
sudo netstat -tlnp | grep :80

Q3: 通配符证书和单域名证书怎么选?

通配符证书(*.domain.com

  • 优点:一张证书保护所有子域名
  • 缺点:必须用 DNS 挑战,私钥泄露风险更大

单域名证书

  • 优点:申请简单,HTTP 挑战即可
  • 缺点:每个子域名需要单独证书

建议:如果有多个子域名(blog、api、shop 等),用通配符更省事;如果只有一个主站,单域名足够。

Q4: 证书部署后浏览器仍显示不安全?

检查清单:

  1. 证书是否正确安装(中间证书是否完整)
  2. 是否混合内容(HTTP 资源加载)
  3. 证书域名是否匹配(www vs 非 www)
  4. 浏览器缓存(尝试无痕模式)

用这个工具在线检测:

https://www.ssllabs.com/ssltest/

Q5: 如何迁移现有证书到新服务器?

# 1. 从旧服务器导出
sudo tar czf ssl_backup.tar.gz /etc/letsencrypt/

# 2. 传输到新服务器
scp ssl_backup.tar.gz user@new-server:/tmp/

# 3. 解压并配置权限
sudo tar xzf ssl_backup.tar.gz -C /etc/
sudo chmod -R 755 /etc/letsencrypt/

# 4. 测试续期
sudo certbot renew --force-renewal --dry-run

六、最佳实践总结

经过这些年的折腾,我总结了几条血泪经验:

  1. 永远不要手动续期 - 自动化是必须的,人会忘,机器不会
  2. 监控证书到期时间 - 设置提前 30 天告警,留出缓冲时间
  3. 私钥严格保护 - 权限 600,不要上传到代码仓库
  4. 定期更新 ACME 客户端 - 协议可能变化,保持最新版本
  5. 备份证书配置 - 服务器迁移时能省很多麻烦
  6. 考虑管理工具 - 域名多了就用 SSL Manage 这类工具,时间更值钱

结语

2026 年的今天,SSL 证书免费申请已经非常成熟。无论是用 Certbot、acme.sh 这样的命令行工具,还是用 SSL Manage 这样的管理平台,核心目标都是同一个:让 HTTPS 成为默认,而不是例外

希望这篇攻略能帮你省去摸索的时间。如果有任何问题,欢迎在评论区交流——毕竟安全这件事,大家一起进步才更可靠。


延伸阅读:

  • Let’s Encrypt 官方文档:https://letsencrypt.org/docs/
  • ACME 协议规范:https://datatracker.ietf.org/doc/html/rfc8555
  • SSL Labs 测试工具:https://www.ssllabs.com/ssltest/

工具推荐:

  • SSL Manage(ssl.dnsjia.com)- 多域名自动化管理
  • acme.sh - 轻量级 ACME 客户端
  • Certbot - EFF 官方推荐工具

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐