acme.sh 使用教程
项目介绍
acme.sh 是一个纯 Unix shell 脚本,实现了 ACME (Automatic Certificate Management Environment) 客户端协议。ACME 协议用于自动化管理和获取 SSL/TLS 证书,广泛应用于 Let's Encrypt 等证书颁发机构。acme.sh 项目旨在提供一个简单、高效的方式来自动请求、验证和获取证书,无需人工干预。
项目快速启动
安装 acme.sh
你可以通过以下命令在线安装 acme.sh:
curl https://get.acme.sh | sh -s email=my@example.com
或者使用 wget:
wget -O - https://get.acme.sh | sh -s email=my@example.com
使用 acme.sh
安装完成后,你可以使用以下命令来验证安装:
acme.sh -v
如果显示版本信息,则表示安装成功。
应用案例和最佳实践
自动更新证书
acme.sh 会自动创建一个 cron 作业来检查并更新证书(如果需要)。你无需手动干预证书的更新过程。
多域名证书
你可以为多个域名申请一个证书:
acme.sh --issue -d example.com -d www.example.com -d another.example.com
部署证书到 Nginx
你可以将证书自动部署到 Nginx:
acme.sh --install-cert -d example.com \
--key-file /path/to/keyfile/in/nginx/key.pem \
--fullchain-file /path/to/fullchain/nginx/fullchain.pem \
--reloadcmd "service nginx force-reload"
典型生态项目
Certbot
Certbot 是另一个流行的 ACME 客户端,由 EFF (Electronic Frontier Foundation) 开发。它提供了丰富的功能和插件,支持多种操作系统和 Web 服务器。
Let's Encrypt
Let's Encrypt 是一个免费的、自动化的、开放的证书颁发机构,提供免费的 SSL/TLS 证书。它广泛支持 ACME 协议,并与多个 ACME 客户端兼容,包括 acme.sh 和 Certbot。
Kubernetes Cert Manager
Kubernetes Cert Manager 是一个 Kubernetes 插件,用于自动化管理和颁发证书。它支持 ACME 协议,并与 Let's Encrypt 集成,方便在 Kubernetes 集群中自动化证书管理。
通过以上内容,你可以快速了解和使用 acme.sh 项目,并探索其在不同场景下的应用和最佳实践。