所有对比 对比

GetHTTPS vs Certbot:该选哪个 SSL 工具?

GetHTTPS 和 Certbot 都能从 Let’s Encrypt 签发免费 SSL 证书,但方式截然不同。GetHTTPS 在浏览器中运行 — 零安装、零服务器访问。Certbot 在服务器上作为命令行工具运行,支持自动续签和 Web 服务器集成。

两个工具产出完全相同的 Let’s Encrypt 证书。区别完全在于你如何获取它。本指南从各个维度对比,帮你选择适合自己的工具。

什么是 GetHTTPS?

GetHTTPS 是一个浏览器端 ACME 客户端。你打开网页,输入域名,完成验证,下载证书文件。无需安装软件,无需创建账号,无需服务器访问权限。

你的私钥使用 Web Crypto API 在浏览器中生成,从不离开你的设备 — 即使是 GetHTTPS 的服务器也看不到。该工具直接与 Let’s Encrypt 的 ACME API 通信,没有代理或中间件。

GetHTTPS 免费使用。

什么是 Certbot?

Certbot 是 Let’s Encrypt 推荐的官方 ACME 客户端,由电子前沿基金会(EFF)维护。它是一个在服务器上运行的 Python 命令行工具,可获取证书、配置 Web 服务器并处理自动续签。

Certbot 需要 root/sudo 权限,通常通过 snap、pip 或 Docker 安装。它是开源的(Apache 2.0 许可证),免费使用。

完整对比表

功能GetHTTPSCertbot
运行环境浏览器标签页服务器命令行
安装无需 — 打开 URL 即可snap、pip 或 Docker
需要服务器访问是(root/sudo)
操作系统任何(只需浏览器)Linux、macOS(已放弃 Windows)
私钥生成浏览器(Web Crypto API)服务器(OpenSSL/Python)
私钥存储由你下载服务器上的 /etc/letsencrypt/
自动续签❌ 手动重新访问✅ systemd 定时器 / cron
Web 服务器自动配置❌ 手动✅ Nginx/Apache 插件
验证类型HTTP-01, DNS-01HTTP-01, DNS-01, TLS-ALPN-01
提交前预检
通配符支持✅ (DNS-01)✅ (DNS-01)
多域名 (SAN)✅(最多 100 个)✅(最多 100 个)
ECDSA 密钥✅ P-256(默认)✅(需要标志)
依赖Python、snapd 或 Docker
证书颁发机构Let’s EncryptLet’s Encrypt(默认),其他
开源是(Apache 2.0)
价格免费免费

何时使用 GetHTTPS

没有服务器 SSH 访问权限

这是最明确的场景。虚拟主机、托管 WordPress、公司防火墙后的服务器 — 如果你无法安装软件,GetHTTPS 是唯一保持私钥本地化的浏览器端选项。

你获取证书文件(privkey.pemfullchain.pem)并通过主机提供的方式上传:cPanelPlesk、FTP 或文件管理器。

你需要零安装零依赖

打开浏览器标签页,获取证书,搞定。没有 Python 版本冲突,没有 snap 限制问题,没有 Docker 镜像。如果你曾花 30 分钟调试为什么 certbot 装不上,你就知道这有多重要。

GetHTTPS 可以在任何配备现代浏览器的操作系统上运行 — 包括 Windows、macOS、ChromeOS,甚至是平板电脑。

你需要对私钥的最大控制

GetHTTPS 使用 Web Crypto API 在浏览器中生成私钥。密钥仅存在于浏览器内存中,直到你点击下载。它从未写入任何服务器的磁盘,从未通过网络传输,从未存储在你看不到的地方。

使用 Certbot 时,密钥在服务器上生成并存储在 /etc/letsencrypt/live/yourdomain/privkey.pem。如果你信任服务器这没问题 — 但任何拥有 Root 权限的人都能读取它。在共享基础设施的云环境中,这一点很重要。

你在为他人获取证书

DevOps 为客户的服务器生成证书。帮助非技术同事。为你不管理的服务器获取证书。GetHTTPS 让你无需访问他人服务器就能生成证书并交付文件。

你需要一张快速一次性证书

暂存环境。测试部署。还没设置自动化的新项目。GetHTTPS 让你在 3-5 分钟内零准备获取证书。

何时使用 Certbot

你需要自动续签(第一大理由)

Certbot 的杀手级功能:一个 systemd 定时器(或 cron 任务)在证书过期前自动续签。无需人工干预,不会忘记续签,不会在周五凌晨 3 点因证书过期而手忙脚乱。

# Certbot 每天检查两次,在到期前 30 天内续签
sudo systemctl list-timers | grep certbot
# NEXT                        LEFT          UNIT
# 2026-05-08 14:22:00 UTC     3h left       snap.certbot.renew.timer

鉴于 Let’s Encrypt 90 天的有效期(以及即将到来的 47 天有效期),自动续签不是锦上添花 — 对生产服务器来说是必需的。

你需要自动 Web 服务器配置

Certbot 的 --nginx--apache 插件会修改你的服务器配置以启用 HTTPS — 包括 SSL 指令、重定向和推荐的密码套件设置。一条命令搞定一切:

# Certbot 获取证书并配置 Nginx
sudo certbot --nginx -d example.com -d www.example.com

# 它在后台做了什么:
# 1. 生成密钥对
# 2. 证明域名控制权(端口 80 上的 HTTP-01)
# 3. 从 Let's Encrypt 获取证书
# 4. 在 Nginx 配置中写入 ssl_certificate/ssl_certificate_key
# 5. 添加 HTTP 到 HTTPS 的重定向
# 6. 重载 Nginx

使用 GetHTTPS,你需要手动完成所有这些 — 获取证书、上传文件、编辑配置、设置重定向、重载服务器。更多控制权,但更多工作量。

你管理规模化的基础设施

Certbot 可以脚本化、容器化,并通过配置管理工具部署:

# Ansible playbook 片段
- name: Install certbot
  snap:
    name: certbot
    classic: true

- name: Get certificate
  command: certbot --nginx -d {{ domain }} --non-interactive --agree-tos -m {{ email }}

对于 10+ 服务器,脚本化的 Certbot 比为每台服务器访问 GetHTTPS 更快。

你需要 TLS-ALPN-01 验证

这种验证类型通过端口 443 进行验证,无需放置文件或修改 DNS。当端口 80 被封锁且你无法修改 DNS 时很有用。只有命令行客户端(Certbot、acme.sh)支持它 — 浏览器端客户端不支持。

安装对比

GetHTTPS — 零步骤

在浏览器中打开 gethttps.com/app/setup。

就这样。现在就能用,任何设备,无需任何准备。

Certbot — 取决于操作系统的若干步骤

Ubuntu/Debian(snap — Certbot 推荐方式):

sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

pip(任何 Linux,当 snap 不可用时):

sudo pip install certbot certbot-nginx

Docker(与系统包隔离):

docker run -it --rm \
  -v /etc/letsencrypt:/etc/letsencrypt \
  -v /var/www/html:/var/www/html \
  certbot/certbot certonly --webroot -w /var/www/html -d example.com

Amazon Linux 2023:

sudo dnf install certbot python3-certbot-nginx

常见安装问题:

  • 非标准 Linux 安装上的 snap 限制错误
  • pip 安装时的 Python 版本冲突
  • 缺少 python3-certbot-nginx 插件包
  • 需要 sudo/root 的权限错误

GetHTTPS 避免了所有这些 — 无需安装意味着没有安装问题。

流程对比

使用 GetHTTPS 获取证书

  1. 打开 gethttps.com/app/setup
  2. 输入你的域名
  3. 选择 HTTP-01 或 DNS-01 验证
  4. 放置验证文件或添加 DNS 记录
  5. GetHTTPS 在提交前预检验证配置(提前发现错误)
  6. 下载 privkey.pemcert.pemchain.pemfullchain.pem
  7. 上传到你的服务器
  8. 配置你的 Web 服务器(NginxApache其他
  9. 设置 HTTP→HTTPS 重定向

耗时: 首次 5-10 分钟,续签 3-5 分钟。

使用 Certbot 获取证书

自动配置模式(最常见):

sudo certbot --nginx -d example.com -d www.example.com

独立模式(无 Web 服务器集成):

sudo certbot certonly --standalone -d example.com

Webroot 模式(服务器保持运行):

sudo certbot certonly --webroot -w /var/www/html -d example.com

DNS 验证(通配符):

sudo certbot certonly --manual --preferred-challenges dns -d "*.example.com"

耗时: 2-5 分钟(安装完成后)。

隐私与安全对比

方面GetHTTPSCertbot
私钥生成浏览器(Web Crypto API)服务器(通过 Python 使用 OpenSSL)
密钥存在于仅你的下载文件夹服务器文件系统
密钥暴露给仅你自己服务器上拥有 Root 权限的任何人
ACME 通信浏览器 → Let’s Encrypt(直连 HTTPS)服务器 → Let’s Encrypt(直连 HTTPS)
代理/中间件
账号数据浏览器中,无需邮箱服务器上,邮箱可选
遥测EFF 邮箱订阅提示(可跳过)
代码审计仅浏览器,可通过 DevTools 检查Apache 2.0,约 50K 行 Python

结论: 两者都直接连接 Let’s Encrypt,没有中间商。安全差异在于私钥存放位置。GetHTTPS 让你下载后自行决定。Certbot 将密钥留在服务器上 — 对服务器管理的证书来说是正常的,但意味着任何有系统访问权限的人都能读取。

续签对比

GetHTTPSCertbot
流程重新访问网站,完成新验证,替换文件自动(systemd 定时器每天检查两次)
人工投入每次续签 3-5 分钟初始设置后为零
故障检测网站出问题时你会发现日志 + 可选邮件告警
续签频率每 60-90 天(手动)每 60 天(自动)
47 天证书(2029 年)每约 30 天手动 — 痛苦仍然自动 — 无变化

这是 Certbot 最大的优势。对生产服务器来说,自动续签不是可选项。

混合方案(两全其美)

许多团队同时使用两个工具:

  1. GetHTTPS 获取第一张证书 — 零配置时间。5 分钟内让 HTTPS 运行,无需在服务器上安装任何东西。
  2. Certbot 用于后续续签 — 服务器配置好并稳定后,安装 Certbot 实现自动续签。

这在”先跑起来,后续再自动化”的工作流中特别常见。你不需要永远选择一个 — PEM 文件是标准格式,Certbot 可以续签最初由 GetHTTPS 为同一域名创建的证书。

结论

你的情况推荐工具原因
无 SSH/Root 访问(虚拟主机)GetHTTPS无服务器访问的唯一选择
快速一次性证书GetHTTPS比安装 Certbot 更快
最高级别的私钥隐私GetHTTPS密钥从不存在于任何服务器
为他人获取证书GetHTTPS无需访问他人服务器
生产服务器,长期使用Certbot自动续签必不可少
Nginx/Apache 自动配置Certbot一条命令搞定一切
管理 10+ 服务器Certbot可脚本化和自动化
首次配置 + 长期两者GetHTTPS 启动,Certbot 维护

两个工具都是免费的,产出完全相同的 Let’s Encrypt 证书。Certbot 是开源的(Apache 2.0)。GetHTTPS 免费但非开源 — 不过作为浏览器端工具,其 JavaScript 可通过 DevTools 检查。证书本身是一样的 — GetHTTPS 输出的 cert.pem 和 Certbot 为同一域名产出的在字节上是等价的。区别完全在于流程。

从 GetHTTPS 开始,如果你想让 HTTPS 立即生效:gethttps.com/app/setup

之后添加 Certbot,如果你需要自动续签:certbot.eff.org

常见问题

GetHTTPS 和 Certbot 一样可靠吗?

两个工具与相同的 Let’s Encrypt ACME API 通信,产出相同的证书。GetHTTPS 额外增加了预检步骤,在提交前验证你的验证配置 — 这能提前发现那些 Certbot 只有在验证失败并消耗速率限制配额后才会发现的错误。

可以从 GetHTTPS 切换到 Certbot(或反过来)吗?

可以。证书文件是标准 PEM 格式。你可以今天用 GetHTTPS 生成证书,明天设置 Certbot 来续签 — 或者用了多年 Certbot 后,在需要无服务器访问权限快速重签时切换到 GetHTTPS。两个工具不冲突,互相不知道对方的存在。

GetHTTPS 支持自动续签吗?

不支持。GetHTTPS 专为手动、按需的证书签发设计。如果你需要自动续签,在服务器上使用 Certbot 或 acme.sh混合方案(先用 GetHTTPS,再用 Certbot 续签)让你兼得两者优势。

Certbot 难安装吗?

取决于你的系统。在现代 Ubuntu 上,sudo snap install --classic certbot 10 秒就能完成。在旧系统、自定义环境或非标准 Linux 上,Python 依赖冲突很常见。GetHTTPS 完全避免了安装 — 不用装意味着没有安装问题。

acme.sh 是个替代选择吗?

acme.sh 是一个 shell 脚本 ACME 客户端,不需要 Root 且有 150+ DNS API 插件。它介于 GetHTTPS(简洁)和 Certbot(自动化)之间。如果你想要无 Root 的命令行自动化并且需要更好的 DNS 集成,acme.sh 值得考虑。

证书有效期降至 47 天后会怎样?

CA/Browser Forum 已投票将最长有效期在 2029 年前降至 47 天。这使 Certbot 的自动续签变得更加重要 — 每 30 天手动续签虽然可行但很繁琐。GetHTTPS 对于一次性证书、紧急续签和无访问权限场景仍然有效,但不能作为生产站点自动续签的主要替代方案。

哪个更安全?

两者都是安全的。证书完全相同。主要的安全差异:

  • GetHTTPS: 私钥从不存在于任何服务器上(在浏览器中生成,由你下载)
  • Certbot: 私钥存在于服务器文件系统(Root 可读)

对大多数配置来说,Certbot 的服务器端密钥没问题。对于想要最小化密钥暴露的高安全场景,GetHTTPS 的浏览器专属模式更严格。

Certbot 能做通配符证书吗?

可以,通过 DNS-01 验证。但 Certbot 的通配符流程比 HTTP-01 流程更手动 — 你需要添加 DNS TXT 记录,可能还需要 DNS 插件。GetHTTPS 以相同方式处理通配符证书(指南)。

相关文章

快速开始 2026-05-08
如何获取免费 SSL 证书(分步指南)
5 分钟从 Let's Encrypt 获取免费 SSL 证书 — 无需安装软件、无需注册账号。涵盖 4 种方法、两种验证方式、6 个平台的安装教程和故障排除。
对比 2026-05-08
2026 年最佳免费 SSL 证书提供商对比
从隐私、限额、通配符支持和自动化等维度对比 9 家免费 SSL 证书提供商。涵盖独立证书颁发机构、主机商和 CDN,并附上其他对比文章未涉及的隐私分析。
对比 2026-05-07
GetHTTPS vs acme.sh:浏览器 vs Shell 脚本
对比 GetHTTPS(浏览器端)与 acme.sh(shell 脚本)。两者都签发 Let's Encrypt 证书 — 一个无需安装,另一个无需 Root 即可运行。
指南
GetHTTPS 工作原理
了解 GetHTTPS 如何利用 ACME 协议直接在浏览器中签发 HTTPS 证书。
在浏览器中获取免费 SSL 证书
无需安装,无需账号。私钥始终留在你的设备上。
获取证书