type
Post
status
Published
date
Dec 26, 2025
slug
summary
tags
category
icon
password
Property
Dec 30, 2026 05:20 AM
Language

告别 Snap:Debian 13 原生安装 Certbot 指南 (拒绝臃肿)

摘要:还记得以前为了装个 Certbot 甚至得先装 Snap 的痛苦吗?在 Debian 13 (Trixie) 下,我们终于可以和臃肿说再见了。本文介绍如何使用官方 Apt 源安装原生 Certbot,3分钟搞定 Nginx HTTPS 配置与自动续期。5

1. 引言:回归纯净的 Linux 运维

凌晨两点,对着刚装好的 Debian 13 (Trixie) 发呆。这台机器干净得就像刚剥壳的鸡蛋,没有任何多余的依赖。这时候,Let’s Encrypt 的官方文档通常会像个推销员一样凑过来:“嘿兄弟,想搞 HTTPS 吗?先把 snapd 装上吧!”
看着那几百兆的依赖和即将被污染的挂载点(df -h 下满屏的 /dev/loop),手悬在回车键上犹豫了。这感觉就像是你只是想换个灯泡,装修队却坚持要先把你的天花板拆了。2
好消息是,在 Debian 13 中,情况发生了变化。官方仓库里的 certbotpython3-certbot-nginx 已经更新到了足够现代的版本。我们可以踢开 Snap 这个中间商,直接用 apt —— 干净、纯粹、原生。1

2. 核心优势与准备工作

为什么选择原生 Apt 安装?

  1. 无 Snap 依赖:不需要后台驻留 snapd 守护进程,节省内存,保持系统挂载点清洁。6
  1. 系统级集成:通过 apt upgrade 统一管理更新,无需维护两套包管理器。
  1. 插件原生支持python3-certbot-nginx 插件能直接读写 Nginx 配置,自动完成“微创手术”。

安装前的 Checklist (至关重要)

在开始之前,请务必确认以下两点,否则必定报错:4
DNS 解析生效:你的域名(例如 www.yourdomain.com)必须已解析到当前服务器 IP。
80 端口开放:防火墙(UFW/IPTables/云安全组)必须放行 TCP 80 端口。Let’s Encrypt 的 HTTP-01 验证必须通过 80 端口进行。3

3. 实战步骤:三行代码搞定 HTTPS

第一步:安装软件包

忘掉复杂的脚本,直接跟仓库打个招呼:
sudo apt update sudo apt install -y certbot python3-certbot-nginx 注意:这里安装的 python3-certbot-nginx 是 Certbot 与 Nginx 之间的翻译官,必不可少。1 第二步:一键申请并配置 (推荐) 这是最省事的方法。Certbot 会自动验证域名、申请证书、修改 Nginx 配置并重载服务。 # 请将 yourdomain.com 替换为你的实际域名 sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com 交互流程说明: 输入邮箱(用于接收紧急通知)。 同意服务条款 (A)。 关键选择:询问是否重定向 HTTP 到 HTTPS?建议选择 "2: Redirect",让全站自动强制 HTTPS。6 第三步:验证状态 安装完成后,检查 Nginx 配置语法并重载: sudo nginx -t sudo systemctl reload nginx 此时打开浏览器访问你的域名,应该能看到安全的绿色锁头标志。 4. 进阶管理:自动续期与排错 关于自动续期 Let’s Encrypt 证书有效期为 90 天。Debian 的原生包非常贴心,自带了 Systemd Timer (计时器) 来处理续期,通常默认已启动,无需手动编写 Crontab。3 你可以像侦探一样检查它的状态: # 查看计时器状态 systemctl status certbot.timer # 查看下次触发时间 systemctl list-timers | grep -i certbot 模拟续期 (Dry-Run) 强烈建议进行一次“消防演习”,确保网络和配置没有问题: sudo certbot renew --dry-run 如果输出显示 "Congratulations, all simulated renewals succeeded",你就可以高枕无忧了。1 5. 避坑指南 (FAQ) 问题现象 可能原因 解决方案 Challenge failed 80 端口不通或 DNS 错误 检查云厂商安全组是否放行 80 端口;Ping 域名确认 IP 正确。4 配置未生效 手动修改后未重载 Nginx 执行 sudo systemctl reload nginx。 只想下载证书 误用了 --nginx 自动配置 如果你想自己手写 Nginx SSL 配置,请使用 certonly 模式:sudo certbot certonly --nginx。1 找不到 DNS 插件 Debian 仓库收录不全 如果需要特定的 DNS 验证(如 Cloudflare 插件)且官方源里没有,这种特殊情况可能仍需 pip 或 snap 安装。3 总结:在 Debian 13 上,保持系统纯净的最佳实践就是信任 apt。除非你有特殊的 DNS 插件需求,否则请直接无视 Snap 的推荐。简单,才是运维的终极奥义。6
 
穷逼程序员的自我修养:手撕 VS Code Intelephense 插件Debian 13 挂载一块新硬盘的通用教程(分区 / 格式化 / 挂载 / 开机自动挂载)