证书会自动续期吗?
是的,SSLcat 完全支持证书自动续期功能。这是 SSLcat 的核心特性之一,确保你的 HTTPS 服务永远不会因为证书过期而中断。
自动续期机制
SSLcat 的自动续期机制基于以下原理:
- 提前续期 - 证书到期前 30 天开始自动续期
- ACME 协议 - 使用标准的 ACME 协议与 Let's Encrypt 通信
- 零停机 - 续期过程中服务不中断
- 失败重试 - 续期失败时自动重试,最多重试 3 次
续期时间表
SSLcat 按照以下时间表进行证书续期:
- 30 天前 - 首次尝试续期
- 15 天前 - 如果首次失败,再次尝试
- 7 天前 - 最后一次尝试续期
- 1 天前 - 发送告警通知(如果仍未成功)
续期流程
证书续期的详细流程:
- 检查证书状态 - 定期检查证书到期时间
- 触发续期 - 到期前 30 天触发续期流程
- 域名验证 - 重新验证域名所有权
- 申请新证书 - 向 Let's Encrypt 申请新证书
- 安装证书 - 自动安装新证书到服务器
- 重启服务 - 平滑重启服务以加载新证书
- 验证成功 - 验证新证书是否正常工作
配置选项
可以通过配置文件调整自动续期的行为:
# 证书配置
certificates:
auto_renewal:
enabled: true
renew_before_days: 30 # 提前续期天数
max_retries: 3 # 最大重试次数
retry_interval: 24 # 重试间隔(小时)
# Let's Encrypt 配置
letsencrypt:
staging: false # 是否使用测试环境
email: "admin@example.com"
agree_tos: true
监控和日志
SSLcat 提供详细的证书续期日志:
- 续期开始 - 记录续期开始时间
- 验证过程 - 记录域名验证过程
- 证书状态 - 显示新证书的详细信息
- 续期结果 - 记录续期成功或失败
- 错误信息 - 详细的错误信息和解决建议
告警通知
SSLcat 支持多种告警通知方式:
- 邮件通知 - 发送邮件到管理员邮箱
- Webhook - 发送 HTTP 请求到指定 URL
- 日志记录 - 在日志中记录重要事件
- 管理面板 - 在 Web 管理界面显示状态
故障排除
如果自动续期失败,可能的原因:
- 域名解析问题 - 检查域名是否正确解析到服务器
- 端口访问问题 - 确保端口 80 和 443 可访问
- Let's Encrypt 限制 - 检查是否达到 Let's Encrypt 的速率限制
- 网络连接问题 - 检查服务器网络连接
- 配置错误 - 验证配置文件设置
手动续期
如果需要手动触发证书续期:
# 手动续期所有证书
sslcat --renew-all
# 续期指定域名
sslcat --renew-domain example.com
# 检查证书状态
sslcat --check-certificates
证书备份
SSLcat 自动备份证书文件:
- 自动备份 - 续期前自动备份旧证书
- 版本管理 - 保留最近 5 个版本的证书
- 快速恢复 - 支持快速恢复到之前的证书
- 导出功能 - 支持导出证书到其他系统
最佳实践
使用自动续期功能的建议:
- 监控日志 - 定期检查续期日志
- 设置告警 - 配置邮件或 Webhook 告警
- 测试环境 - 先在测试环境验证续期功能
- 备份策略 - 定期备份证书文件
- 网络检查 - 确保服务器网络连接稳定
Let's Encrypt 限制
了解 Let's Encrypt 的使用限制:
- 证书数量 - 每个域名每周最多 50 个证书
- 子域名限制 - 每个域名最多 100 个子域名
- 通配符证书 - 需要 DNS 验证
- 速率限制 - 每小时最多 5 次失败验证
通过 SSLcat 的自动续期功能,你可以完全不用担心证书过期问题,专注于业务开发。