Skip to content

Certbot 证书管理工具 · 文档集

面向 Linux 服务器 场景的 Certbot / Let's Encrypt 使用文档,用于速查、学习、回顾与教学。 全文假设你有 root 或 sudo 权限,域名已解析到服务器公网 IP。

这份文档是什么

Certbot 是 EFF(电子前哨基金会)维护的免费 ACME 客户端,用来向 Let's Encrypt 免费申请、安装、续期 HTTPS/TLS 证书。本文档集把 Certbot 在 Linux 服务器上的用法拆成 8 份,按主题速查。

#文档内容适合场景
1概念与原理Let's Encrypt / ACME / 证书链 / 验证方式 / 90 天续期入门学习、教学
2安装snap / apt / dnf / pip 各发行版安装、注册账号首次部署
3命令速查子命令与常用选项速查表、高频命令日常速查
4插件与验证方式HTTP-01 / DNS-01 / TLS-ALPN-01、nginx/apache/webroot/standalone/dns 插件选型、深入学习
5实战场景Nginx/Apache HTTPS、通配符、多域名、仅签发照做部署
6续期与自动化renew 原理、systemd/cron、hooks、dry-run上线后维护
7配置与文件布局/etc/letsencrypt 目录、renewal 配置、cli.ini排错与定制
8排错与最佳实践常见错误、限速、安全加固、备份迁移故障处理

一分钟快速上手(TL;DR)

bash
# 1. 安装(Debian/Ubuntu 示例,推荐 snap;apt 也可用)
sudo apt update && sudo apt install -y certbot python3-certbot-nginx

# 2. 一键签发并自动配置 Nginx(含 HTTP→HTTPS 跳转)
sudo certbot --nginx -d example.com -d www.example.com

# 3. 验证自动续期是否已就绪
sudo systemctl status certbot.timer
sudo certbot renew --dry-run

# 4. 查看已签发的证书
sudo certbot certificates
  • 证书默认落在 /etc/letsencrypt/live/<域名>/,其中 fullchain.pem(证书链)和 privkey.pem(私钥)是配到 Nginx/Apache 的两个文件。
  • 证书有效期 90 天certbot renew 会在到期前 30 天内续期;系统自带的 timer/cron 一般已自动处理。

核心要点速记

  • 免费证书有效期 90 天,靠 certbot renew 自动滚动续期,不续期会过期。
  • 验证方式HTTP-01(走 80 端口)、DNS-01(走 TXT 记录,唯一支持通配符)、TLS-ALPN-01(走 443 端口,不占 80)。
  • 插件决定"怎么验证"和"怎么装"--nginx/--apache 全自动;--webroot/--standalone 只签发;--manual --preferred-challenges dns 手动 DNS。
  • 限速要心里有数:同一组域名每周重复签发有上限、验证失败按小时限速,测试用 --dry-run 或 staging 环境。

参考链接