免费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 是什么?

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/ 目录。

➡️

继续阅读