
Let's Encrypt是一个免费的证书颁发机构,向任何域名免费颁发SSL证书。但是,这些证书每90天过期一次。如果续期失败,您的网站将显示令人恐惧的安全警告,立即损害访客的信任和SEO排名。本指南将指导您在DirectAdmin托管上设置自动SSL续期,确保您的证书永不过期。
为什么Let's Encrypt会如此频繁地过期?
Let's Encrypt有意将证书生命周期设置为较短的90天。这种设计鼓励自动化,并在私钥泄露时减少风险范围。尽管进行自动续期,证书仍然过期的常见原因包括:
- AutoSSL从一开始就配置不正确
- 运行Certbot的计划任务被删除或停止
- 由于DNS记录不正确导致DNS验证失败
- 迁移到新主机时未重新配置AutoSSL
- 在续期窗口期间服务器无法访问
方法1 — 在DirectAdmin中使用AutoSSL(推荐)
DirectAdmin包含一个内置的AutoSSL功能,直接与Let's Encrypt集成。这是大多数共享托管用户最简单和最可靠的方法。
启用AutoSSL
- 登录您的DirectAdmin面板
- 导航至高级功能 → SSL证书
- 选择您的域并点击来自Let's Encrypt的免费和自动证书
- 勾选启用SSL和强制SSL并跳转https
- 点击保存
启用AutoSSL后,DirectAdmin将在证书过期前30天自动使用系统内置的计划任务续期证书。无需其他配置。
重要:AutoSSL要求您的域名DNS A记录指向服务器IP。如果使用Cloudflare并启用代理(橙色云),请在续期前临时切换到仅DNS(灰色云),随后重新启用代理。
方法2 — 设置Certbot计划任务
如果您对托管账户有Shell访问权限或偏好手动控制,您可以配置计划任务直接运行Certbot。
在DirectAdmin中添加计划任务
- 前往高级功能 → 计划任务
- 将计划设置为
0 3 * * 1(每周一凌晨3点) - 输入命令:
/usr/local/bin/certbot renew --quiet --post-hook "systemctl reload apache2" - 点击添加
/usr/local/bin/certbot renew --quiet --post-hook "systemctl reload apache2"
--quiet标志禁止在每次运行时发送邮件通知。--post-hook在成功续期后重新加载Apache,以便新证书立即生效。
检查SSL证书状态
配置后,使用这些方法验证续期是否正常工作:
通过DirectAdmin面板
前往SSL证书并检查显示的过期日期。成功续期后,您应该看到新的日期(90天后)。
通过OpenSSL命令行
echo | openssl s_client -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -dates
输出显示notAfter= — 您的证书过期日期。
使用在线工具
使用AsiaGB SSL服务器测试从任何浏览器即时检查您的证书状态。
AutoSSL失败的故障排除
如果AutoSSL失败,请按顺序检查以下问题:
- DNS传播 — 确认A记录指向正确的服务器IP
- 端口80开放 — Let's Encrypt使用端口80上的HTTP-01质询
- Cloudflare代理 — 临时禁用橙色云并重试
- 速率限制 — Let's Encrypt限制每个域名每周5个证书;过多失败尝试会导致临时阻止
- 检查错误日志 — 前往DirectAdmin → 错误日志查看AutoSSL消息
设置过期提醒
即使配置了AutoSSL,也建议设置外部监控。Uptime Robot和StatusCake等服务提供免费的SSL过期监控。在过期前30天、14天和7天设置提醒,以便有时间调查如果AutoSSL意外停止工作。
Let's Encrypt vs 付费SSL证书 — 您应该选择哪一个?
许多网站所有者想知道是否应该继续使用免费的Let's Encrypt或升级到付费的SSL证书。正确的选择取决于您网站的类型、受众和业务需求。使用下表比较两个选项。
| 功能 | Let's Encrypt(免费) | 付费SSL(DV / OV / EV) |
|---|---|---|
| 成本 | 免费 | 每年1,000泰铢起 |
| 证书生命周期 | 90天(需频繁续期) | 1–2年(取决于计划) |
| 通配符子域 | 支持(DNS质询) | 支持(通配符SSL) |
| 组织验证(OV/EV) | 不可用(仅DV) | 支持OV和EV |
| 担保范围 | 无 | 包含(取决于计划) |
| 最适合 | 博客、个人网站、小型企业 | 电商、银行、企业 |
对于不直接处理支付的一般网站,Let's Encrypt完全足够且经济划算。对于大型电商平台或需要在证书中显示组织名称的企业(OV/EV),付费SSL是更好的投资。AsiaGB提供免费的Let's Encrypt AutoSSL和付费SSL证书以适应各种需求。
管理多子域上的Let's Encrypt
如果您的网站使用多个子域——如shop.yourdomain.com、api.yourdomain.com和mail.yourdomain.com——您可以发行单个覆盖所有子域的通配符证书。但这需要使用DNS-01质询方法而不是标准的HTTP-01质询。
使用Certbot发行通配符证书
certbot certonly \
--manual \
--preferred-challenges=dns \
-d "*.yourdomain.com" \
-d "yourdomain.com"
Certbot将要求您向DNS区域添加名为_acme-challenge.yourdomain.com的DNS TXT记录。由于该值在每次续期时都会更改,通配符证书通常需要手动续期或需要支持Certbot DNS插件的DNS提供商——如Cloudflare或Route53。
DirectAdmin AutoSSL中通配符证书的限制
- DirectAdmin AutoSSL仅在使用ACME v2的较新版本中支持通配符
- 如果在共享托管上,请与您的托管提供商确认
- 通配符仅覆盖一级子域——
*.yourdomain.com不覆盖sub.shop.yourdomain.com
提示:如果管理多个子域,考虑从AsiaGB升级到付费通配符SSL证书。它每年自动续期,无需每90天进行一次DNS质询,大大简化了证书管理。
托管迁移后重新发行Let's Encrypt
迁移到新托管服务器时,您的Let's Encrypt证书无法与网站文件一起传输。证书与存储在旧服务器上的私钥关联,必须在新服务器上重新发行。
托管迁移期间的推荐步骤
- 首先在新服务器上设置和测试您的网站(通过Hosts文件或临时URL)
- 更新域名的A记录指向新服务器IP并等待DNS传播完成
- 在新服务器的DirectAdmin面板中启用AutoSSL以发行新证书
- 在停用旧服务器之前验证新证书是否成功发行
- 确认在新服务器上完全配置了AutoSSL或计划任务
所有AsiaGB托管计划都在DirectAdmin上包含AutoSSL支持,使此流程简单直接——只需点击几下,您的SSL就可以在新服务器上生效。我们的99%正常运行时间保证和泰语支持团队全天24小时可用以协助任何迁移问题。
包含免费Let's Encrypt AutoSSL的托管
AsiaGB SSD托管在每个计划上都包含免费的Let's Encrypt AutoSSL。从仅500泰铢/年起,包含DirectAdmin和99%正常运行时间保证。
查看托管计划