免费SSL证书、自动化续签证书,acme.sh 完整教程:安装、使用、常见错误及解决方案

💡 原文中文,约2700字,阅读约需7分钟。
📝

内容提要

acme.sh 是一个轻量级的 ACME 客户端,用于申请和自动更新 SSL/TLS 证书,支持多种验证方式和 CA,证书存储在 ~/.acme.sh/ 目录,支持自动续期,无需 Python 和 OpenSSL。

🎯

关键要点

  • acme.sh 是一个轻量级的 ACME 客户端,用于申请和自动更新 SSL/TLS 证书。

  • 相比 Certbot,acme.sh 更轻量、依赖少,支持多种 CA 和自动化功能。

  • acme.sh 纯 Shell 实现,无 Python 或 OpenSSL 依赖。

  • 支持多种 CA,包括 Let’s Encrypt、ZeroSSL、Buypass、SSL.com 等。

  • 支持多种验证方式:HTTP、Standalone、DNS API。

  • 支持通配符证书,自动续期,无需手动更新证书。

  • 可自动安装证书到 Nginx、Apache、HAProxy 等。

  • 推荐使用国内镜像安装 acme.sh,以提高安装速度。

  • 安装后,acme.sh 位于 ~/.acme.sh/ 目录。

  • 提供多种方式申请 SSL 证书,包括 Webroot、Standalone 和 DNS API。

  • 安装证书时可指定密钥文件和证书文件路径,并支持重载 Nginx。

  • acme.sh 会自动续期证书,也可手动执行续期命令。

  • 可在 crontab 中设置自动续期任务。

  • 解决常见错误,包括 ZeroSSL 注册账户、Let’s Encrypt 速率限制和 Nginx 端口占用问题。

  • 支持切换 CA,包括 Let’s Encrypt 和 ZeroSSL。

  • 可通过命令卸载 acme.sh,删除相关目录。

  • acme.sh 提供详细的错误日志,便于排查问题。

🔎

延伸解读

轻量化优势

acme.sh 相比于 Certbot,具有更轻量和依赖少的特点。这使得它在资源有限的环境中表现更佳,尤其适合小型网站或个人项目。用户可以更快速地部署 SSL/TLS 证书,减少了对系统资源的占用。

多种验证方式的灵活性

acme.sh 支持多种证书申请验证方式,包括 HTTP、Standalone 和 DNS API。这种灵活性使得用户可以根据自身的服务器环境和需求选择最合适的方式,尤其是在需要申请通配符证书时,DNS API 是一个非常有效的选择。

自动续期的重要性

acme.sh 提供自动续期功能,用户无需手动干预即可保持证书的有效性。这对于不熟悉 SSL/TLS 管理的用户来说,极大地降低了维护成本和风险,确保网站始终处于安全状态。

常见错误及解决方案

在使用 acme.sh 时,用户可能会遇到一些常见错误,如 ZeroSSL 注册账户问题和 Let’s Encrypt 速率限制。了解这些问题及其解决方案,可以帮助用户更顺利地完成证书申请和续期,避免不必要的时间浪费。

延伸问答

acme.sh 是什么?

acme.sh 是一个轻量级的 ACME 客户端,用于申请和自动更新 SSL/TLS 证书。

如何安装 acme.sh?

可以使用国内镜像安装,命令为:curl https://gitee.com/neilpang/acme.sh/raw/master/acme.sh | sh。

acme.sh 支持哪些证书验证方式?

acme.sh 支持 HTTP、Standalone 和 DNS API 三种验证方式。

如何设置 acme.sh 的自动续期?

acme.sh 默认会自动续期证书,也可以在 crontab 中添加任务来定期执行续期命令。

acme.sh 如何解决 Let’s Encrypt 的速率限制问题?

可以等待 7 天后再尝试,或使用已有证书,或者切换到 ZeroSSL。

如何卸载 acme.sh?

可以使用命令 acme.sh --uninstall,随后删除 ~/.acme.sh/ 目录。

🏷️

标签

➡️

继续阅读