acme.sh 是一个用于申请和管理 CA 证书的轻量级 ACME 客户端,支持自动续订。
1. acme.sh 安装
**1.1 安装 socat
1 | apt install socat -y # Ubuntu/Debian |
1.2 安装 acme.sh
使用以下命令安装 acme.sh:
1 | curl https://get.acme.sh | sh |
安装完成后,可能需要重新加载 shell 以生效:
1 | source ~/.bashrc |
2. 申请泛域名证书(使用 阿里云DNS 验证)
2.1 配置 阿里云DNS API
登录阿里云账户管理,创建一个具有DNS管理权限的RAM用户
在申请证书前,需要提供 阿里云DNS 的 API Key 和 Email:
1 | export Ali_Key="sddi*********daf" |
2.2 申请泛域名证书
注意yourdomain.com
填写的是你的域名
使用 阿里云 DNS 验证方式申请:
1 | acme.sh --issue --dns dns_ali -d yourdomain.com -d '*.yourdomain.com' |
参数说明:
--dns dns_ali
:使用 Cloudflare DNS 进行域名验证。-d yourdomain.com -d '*.yourdomain.com'
:申请主域名和泛域名证书。
3. 证书安装及自动续订
3.1 安装证书到指定目录
将证书安装到 /etc/nginx/cert/
目录,并自动续订:
1 | acme.sh --install-cert -d yourdomain.com \ |
3.2 确保证书自动续订
acme.sh 会自动续订证书,无需手动干预。可以使用以下命令检查续订任务:
1 | crontab -l | grep acme.sh |
如果需要手动触发续订:
1 | acme.sh --renew -d yourdomain.com |
4. 其他常用命令
4.1 查看证书列表
1 | acme.sh --list |
4.2 强制更新 acme.sh
1 | acme.sh --upgrade |
4.3 卸载 acme.sh
如果不再使用,可以卸载:
1 | acme.sh --uninstall |
5. 最后
使用 acme.sh,可以轻松申请和管理 CA 证书,结合 阿里云 DNS 验证,支持泛域名证书,并且自动续订,适用于大多数网站的 HTTPS 配置需求。