前言
什么是 ACME.SH?
ACME(Automatic Certificate Management Environment) 是一种用于自动化管理和获取SSL证书的协议。
ACME.SH 则是常见的ACME客户端之一。
ACME.SH 是一个轻量级 Shell 脚本,支持自动申请和续签证书,兼容多种DNS提供商和Web服务器。
它的优势在于:
- 可实现证书自动申请、安装和续签;
- 支持DNS验证、HTTP验证、通配符证书;
- 可与多种工具和服务集成;
- 完全免费。
如果你熟悉命令行、喜欢折腾服务器,那么使用 ACME.SH 来管理 SSL 证书是个不错的选择。
如何使用 ACME.SH 管理证书
要用 ACME.SH 实现 SSL 证书自动化,你可以按以下步骤操作:
第一步,需要安装ACME.SH
在服务器上通过以下命令安装ACME.SH:
curl https://get.acme.sh | sh第二步,配置环境变量
设置环境变量以便ACME.SH识别你的域名:
export DOMAIN="yourdomain.com"第三步,申请证书
在开始之前,先把默认签发机构切换成 Let’s Encrypt
acme.sh --set-default-ca --server letsencrypt验证当前 CA 已切换成功
acme.sh --show-ca输出结果应为:
CA: https://acme-v02.api.letsencrypt.org/directory
一般有两种申请方法:
方式一:HTTP 验证、
acme.sh --issue --webroot /path/to/webroot -d $DOMAIN方式二:DNS 验证(以腾讯云和 Cloudflare 为例)
域名托管在腾讯云,使用的命令如下:
export Tencent_SecretId="your_secret_id"
export Tencent_SecretKey="your_secret_key"
acme.sh --issue --dns dns_tencent -d example.com -d '*.example.com'域名托管在 Cloudflare,使用的命令如下:
export CF_Email="your-email@example.com"
export CF_Key="your-global-api-key"
acme.sh --issue --dns dns_cf -d example.com -d *.example.com如果你想把腾讯云和 Cloudflare 的环境变量都永久保存到 root 用户的 .bashrc,可以这样做:
腾讯云
echo 'export Tencent_SecretId="your_secret_id"' >> ~/.bashrc
echo 'export Tencent_SecretKey="your_secret_key"' >> ~/.bashrcCloudflare
echo 'export CF_Email="your-email@example.com"' >> ~/.bashrc
echo 'export CF_Key="your-global-api-key"' >> ~/.bashrc添加完毕后执行:
source ~/.bashrc第四步,安装证书
将证书安装到Web服务器(例如Nginx):
acme.sh --install-cert -d $DOMAIN \
--key-file /path/to/keyfile \
--fullchain-file /path/to/fullchainfile \
--reloadcmd "service nginx reload"第五步,实现自动续期
ACME.SH会自动检查证书的到期日期并在必要时进行续期。可通过以下命令手动触发续期测试:
手动测试续期
acme.sh --renew -d $DOMAIN --force加入 crontab 自动续期
编辑 crontab:
crontab -e添加以下行:
0 0 * * * /root/.acme.sh/acme.sh --cron --home "/root/.acme.sh" > /dev/null 2>&1ACME.SH 的适用场景与不足
优点
- 免费、自动化程度高;
- 可通过 DNS 验证获取通配符证书;
- 支持多种 DNS 服务商。
不足
- 证书类型有限
只能申请 DV(域名验证)证书,不支持 OV/EV 等更高等级的证书。 - 技术门槛较高
需要熟悉命令行操作和服务器配置,对新手不太友好。 - 安全风险
私钥保存在本地服务器上,如未妥善管理可能导致泄露;
无内置监控功能,若续期失败用户可能无法及时发现。
因此,ACME.SH 更适合开发者、系统管理员和技术爱好者使用。
转载声明:
转载此文章请注明出处。
若本文内容侵犯了您的权益,请通过本站下方邮箱与我联系,我会尽快处理,谢谢!

发表回复