所有入门指南 快速开始

如何续签 Let's Encrypt 证书

Let’s Encrypt 证书有效期为 90 天。建议在第 60 天之前续签,留出安全余量。以下是通过 GetHTTPS(手动)和 Certbot(自动)续签的方法。

方法一:使用 GetHTTPS 续签(手动)

重复获取原始证书时的相同步骤:

  1. 访问 gethttps.com/app/setup
  2. 输入相同的域名
  3. 完成 HTTP-01 或 DNS-01 验证(与之前相同)
  4. 下载新的证书文件
  5. 替换服务器上的旧文件:
    sudo cp fullchain.pem /etc/ssl/gethttps/fullchain.pem
    sudo cp privkey.pem /etc/ssl/gethttps/privkey.pem
    sudo systemctl reload nginx  # or apache2/httpd

耗时: 熟练后 2-3 分钟。

适用场景: 无法安装 Certbot、管理的域名较少、或不想安装额外软件。

方法二:使用 Certbot 自动续签

如果服务器上已安装 Certbot,续签会自动进行:

# Check if auto-renewal is set up
sudo systemctl list-timers | grep certbot

# Manual dry-run to test
sudo certbot renew --dry-run

# Force renewal now
sudo certbot renew

Certbot 的 systemd 定时器(或 cron 任务)每天运行两次,会在过期前 30 天内自动续签。

适用场景: 有服务器 root 权限,希望完全自动化续签。

如何查看证书过期时间

# Check from the server
openssl x509 -noout -enddate -in /etc/ssl/gethttps/fullchain.pem

# Check remotely
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -enddate

输出示例:notAfter=Aug 5 12:00:00 2026 GMT

设置提醒

  • 第 0 天: 证书签发(有效期 90 天)
  • 第 60 天: 续签(推荐 — 30 天安全余量)
  • 第 90 天: 证书过期 — 网站显示安全警告

为第 60 天设置日历提醒。如果管理多个域名,使用监控服务来提前预警即将过期的证书。

分步操作:使用 GetHTTPS 续签

以下是手动续签的完整流程:

  1. 检查当前过期时间(可选但推荐):

    echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -enddate
  2. 访问 gethttps.com/app/setup

  3. 输入与原证书相同的域名

  4. 完成验证 — 与首次申请相同:

    • HTTP-01:在服务器上放置新的 token 文件
    • DNS-01:用新值更新 _acme-challenge TXT 记录
  5. 下载新的证书文件

  6. 在服务器上替换:

    sudo cp fullchain.pem /etc/ssl/gethttps/fullchain.pem
    sudo cp privkey.pem /etc/ssl/gethttps/privkey.pem
  7. 重载 Web 服务器(是 reload 而非 restart — reload 在不断开现有连接的情况下加载新文件):

    sudo systemctl reload nginx    # Nginx
    sudo systemctl reload apache2  # Apache/Debian
    sudo systemctl reload httpd    # Apache/CentOS
  8. 验证新证书已生效:

    echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -dates

整个过程:熟练后 2-3 分钟。

续签方式对比:手动 vs 自动

GetHTTPS(手动)Certbot(自动)
每次续签耗时2-3 分钟零(cron 任务)
所需服务器权限仅需替换文件的权限完全 root 权限
失败检测网站出问题时才发现Certbot 日志 + 可配置失败邮件通知
最适合1-5 个域名、无 root 权限生产服务器、大量域名
遗忘风险中等(务必设置提醒!)低(自动化)

对于有 root 权限的生产服务器,配置 Certbot 自动续签。对于没有 root 权限的环境,GetHTTPS 手动续签是唯一选择。

47 天有效期的未来

CA/Browser Forum 已投票决定缩短证书最长有效期:

生效日期最长有效期
当前90 天(Let’s Encrypt)
2026 年 3 月200 天
2027 年 3 月100 天
2029 年 3 月47 天

到 2029 年,你大约每 30-35 天就需要续签一次。这使得自动续签(Certbot)变得越来越重要。对于手动工作流(GetHTTPS),建议设置更频繁的提醒。

常见问题

证书过期前可以续签吗?

可以。Let’s Encrypt 允许随时续签。新证书以新的 90 天有效期开始。提前续签不会浪费剩余时间 — 它只是替换旧证书。

每次续签都需要重新验证吗?

是的。每次续签都需要新的域名验证。这是安全特性 — 确认你仍然控制着该域名。

续签会导致停机吗?

正确操作的话不会。上传新文件后重载(而非重启)Web 服务器。nginx -s reloadapachectl graceful 会将新证书应用于新连接,不会断开现有连接。

可以用 GetHTTPS 获取首张证书,然后用 Certbot 续签吗?

可以。证书文件是标准 PEM 格式。你可以用 GetHTTPS 生成第一张证书,然后安装 Certbot 进行后续自动续签。两者互不冲突。详细对比 →

证书过期了怎么办?

你的网站会显示浏览器安全警告,但修复很简单:访问 GetHTTPS,获取新证书,替换文件,重载服务器。5 分钟搞定。Let’s Encrypt 不会因为证书过期而惩罚你 — 直接申请新证书即可。

续签时需要使用同一密钥对吗?

不需要。GetHTTPS 每次都会生成新的密钥对,这实际上是更好的安全实践(密钥轮换)。服务器不在乎新证书是否使用了不同的密钥 — 只要同时替换 fullchain.pemprivkey.pem 即可。

如何续签通配符证书?

与首次申请相同:访问 GetHTTPS,输入 *.example.com,在 DNS 中添加新的 _acme-challenge TXT 记录,验证,下载。每次续签都需要 DNS 访问权限,因为通配符证书必须使用 DNS-01

相关文章

快速开始 2026-05-08
如何获取免费 SSL 证书(分步指南)
5 分钟从 Let's Encrypt 获取免费 SSL 证书 — 无需安装软件、无需注册账号。涵盖 4 种方法、两种验证方式、6 个平台的安装教程和故障排除。
对比 2026-05-08
GetHTTPS vs Certbot:该选哪个 SSL 工具?
详细对比 GetHTTPS 和 Certbot 获取 Let's Encrypt 免费 SSL 证书的方式。比较安装、流程、隐私、自动化、续签和使用场景。
部署 2026-05-08
如何在 Nginx 上安装 SSL 证书
在 Nginx 上安装 SSL 证书的分步指南。涵盖文件上传、完整 server 块配置、TLS 最佳实践、HTTP/2、HSTS、重定向设置、测试以及 6 个常见错误的排查方法。
在浏览器中获取免费 SSL 证书
无需安装,无需账号。私钥始终留在你的设备上。
获取证书