这个项目能做什么
acme.sh 是一个完全以 Unix shell 脚本实现的 ACME 协议客户端,用于自动化 SSL/TLS 证书的签发、续期和安装。它实现了 ACME 协议,可与符合 RFC8555 的证书颁发机构配合使用,包括 ZeroSSL(默认)、Let's Encrypt、SSL.com、Google Public CA 和 Actalis。它支持 ECDSA 证书,以及 SAN 和通配符证书。
该项目强调可移植性:可在 Bash、dash 和 sh 下运行,没有 Python 依赖,基本使用不需要 root 或 sudoer 权限,并号称已为 Docker 和 IPv6 做好准备。可以通过 curl 或 wget 从 get.acme.sh 在线安装,也可以从 Git 克隆并使用内置的 --install 命令安装,该命令会将脚本复制到 ~/.acme.sh,创建别名,并设置每日 cron 作业来检查和续期证书。默认情况下,证书每 30 天自动续期一次,cron 通知可以报告续期或错误信息。
验证模式包括 webroot、standalone(端口 80)、standalone tls-alpn(端口 443)、Apache、Nginx、DNS、DNS alias、stateless 和 DNS persist 模式。对于 DNS 验证,项目文档说明支持多种 DNS 提供商 API,可实现无人值守签发;也提供手动 DNS 模式,但无法自动续期。签发后,可以使用 --install-cert 将证书安装到 Apache、Nginx 或其他服务,指定 cert、key 和 fullchain 路径以及 reload 命令,以便服务器加载续期后的新证书。
README 列出了经过测试的平台,包括 macOS、Windows(cygwin)、FreeBSD、OpenBSD、NetBSD、DragonFlyBSD、MidnightBSD、Solaris、OmniOS、OpenIndiana、多种 Linux 发行版、Haiku、Tribblix、GhostBSD、GNU Hurd、openEuler、HardenedBSD 和 OPNsense,并附有各自的 CI 徽章。从 3.1.5 起的发布标签均使用维护者的 SSH 密钥签名,仓库中包含 allowed_signers 文件用于验证。README 还提到 FreeBSD.org、Proxmox、pfsense、OPNsense、Discourse 等项目和组织采用了 acme.sh。
评论
0 评分人数达到10人后显示
登录后参与讨论。