所有对比 对比

浏览器 ACME 客户端 vs 命令行 ACME 客户端

ACME(自动化证书管理环境)客户端分为两类:浏览器端(如 GetHTTPS)和命令行端(如 Certbot 和 acme.sh)。两者都与相同的 Let’s Encrypt API 通信,签发完全相同的证书。区别在于工作在哪里执行,以及谁控制密钥。

对比

浏览器端 (GetHTTPS)命令行端 (Certbot, acme.sh)
运行位置浏览器标签页服务器命令行
安装无需安装需要安装(snap、pip、shell 脚本)
密钥生成浏览器(Web Crypto API)服务器(OpenSSL)
密钥存储由你下载保存服务器文件系统
自动续签❌ 手动✅ Cron/systemd
需要服务器访问权限
图形界面
提交前预检✅ (GetHTTPS)
可脚本化
依赖现代浏览器OpenSSL、curl、cron

浏览器端的优势场景

  • 没有服务器访问权限 — 虚拟主机、托管平台,或者无法安装软件的服务器
  • 最高级别的密钥隐私 — 私钥仅存在于浏览器内存中,直到你下载为止
  • 非技术用户 — 网页界面比终端更容易上手
  • 一次性证书 — 比为单个证书配置命令行工具更快
  • 协助他人 — 共享浏览器操作画面比口述命令行命令更简单

命令行端的优势场景

  • 自动续签 — 对生产服务器至关重要,尤其是即将实行 47 天有效期的情况下
  • 规模化基础设施 — 可脚本化、可容器化,可通过配置管理工具控制
  • DNS API 自动化 — acme.sh 等命令行工具支持 150+ DNS 服务商插件
  • CI/CD 集成 — 将证书签发纳入部署流水线
  • 服务器自动配置 — Certbot 的 Nginx/Apache 插件可直接配置 Web 服务器

混合方案

许多团队同时使用两者:

  1. GetHTTPS 获取首张证书(零配置时间)
  2. 之后安装 Certbot 或 acme.sh 进行持续自动续签

这种方式让你无需前期投入即可立即运行 HTTPS,等准备好了再添加自动化。

浏览器端 ACME 客户端

浏览器端 ACME 客户端是相对较新的类别。选项包括:

客户端开源密钥生成直连 ACME预检
GetHTTPS浏览器(Web Crypto)
SSL For Free⚠️ 服务器端通过 ZeroSSL
ZeroSSL Dashboard⚠️ 可能是服务器端通过 ZeroSSL API

GetHTTPS 是唯一使用 Web Crypto API 在本地生成密钥并直接连接 Let’s Encrypt ACME API(无任何中间件)的浏览器端客户端。

命令行 ACME 客户端

命令行生态系统更加成熟:

客户端语言需要 Root自动续签DNS 插件服务器配置
CertbotPython是(snap/pip)是(systemd)通过插件Nginx/Apache 自动配置
acme.shShell是(cron)150+ 内置手动
LegoGo100+手动
CaddyGoN/A(内置)是(自动)通过 DNS 模块内置于 Caddy 服务器
dehydratedShell是(cron)通过钩子手动

详细对比:GetHTTPS vs Certbot → | GetHTTPS vs acme.sh →

未来:47 天证书

随着证书有效期在 2029 年降至 47 天,天平进一步向命令行客户端(生产环境)倾斜。每 30-35 天手动续签(浏览器端)虽然可行但很繁琐。

然而,浏览器端客户端不会消失。它们持续服务于以下场景:

  • 无法使用命令行的环境 — 虚拟主机、托管平台、限制性的企业环境
  • 首次配置 — 5 分钟内让 HTTPS 生效,然后再决定是否安装命令行工具
  • 紧急续签 — 服务器上的 Certbot 坏了,你现在就需要证书
  • 为他人生成证书 — 为客户或同事生成证书而无需访问他们的服务器
  • 隐私敏感场景 — 私钥不应存在于任何服务器上,即使是临时的

常见问题

浏览器端客户端安全性较低吗?

并非如此。GetHTTPS 使用 Web Crypto API 生成密钥(与 TLS 本身使用的是相同的加密原语),并通过 HTTPS 直接与 Let’s Encrypt 通信。密钥从不接触任何第三方服务器。主要的权衡是缺乏自动续签能力,而非安全性。

47 天证书会让浏览器端客户端过时吗?

不会过时,但作为唯一的续签方式会变得不太方便。它们在初始配置、紧急续签和无服务器访问场景中仍有价值。但对于每 30-40 天需要续签的生产负载,命令行自动化是更务实的长期选择。

应该选择哪个命令行客户端?

Certbot — 如果你需要 Nginx/Apache 自动配置且不介意 Root 权限。acme.sh — 如果你需要无 Root 运行、DNS API 插件和轻量级方案。Caddy — 如果你正在更换 Web 服务器,它可以零配置自动处理 HTTPS。

浏览器端客户端能用于自动化流水线吗?

不能直接使用 — 浏览器端客户端需要人工交互。对于 CI/CD 流水线或基础设施即代码方案,请使用命令行客户端。GetHTTPS 专为人工操作流程设计;Certbot 和 acme.sh 专为机器操作流程设计。

相关文章

对比 2026-05-08
GetHTTPS vs Certbot:该选哪个 SSL 工具?
详细对比 GetHTTPS 和 Certbot 获取 Let's Encrypt 免费 SSL 证书的方式。比较安装、流程、隐私、自动化、续签和使用场景。
对比 2026-05-07
GetHTTPS vs acme.sh:浏览器 vs Shell 脚本
对比 GetHTTPS(浏览器端)与 acme.sh(shell 脚本)。两者都签发 Let's Encrypt 证书 — 一个无需安装,另一个无需 Root 即可运行。
SSL 与证书 2026-05-07
什么是 Let's Encrypt?
Let's Encrypt 是一个免费的非营利证书颁发机构,已签发超过 10 亿张 SSL 证书。了解其工作原理、速率限制,以及如何通过 GetHTTPS 使用。
在浏览器中获取免费 SSL 证书
无需安装,无需账号。私钥始终留在你的设备上。
获取证书