acme.sh上手

SSL证书

acme.sh 是一个用于申请和管理 CA 证书的轻量级 ACME 客户端,支持自动续订。

1. acme.sh 安装

1.1 安装 socat

apt install socat -y  # Ubuntu/Debian
yum install socat -y # CentOS

1.2 安装 acme.sh

使用以下命令安装 acme.sh:

curl https://get.acme.sh | sh

安装完成后,可能需要重新加载 shell 以生效:

source ~/.bashrc

2. 申请泛域名证书(使用 Cloudflare DNS 验证)

2.1 配置 Cloudflare API

在申请证书前,需要提供 Cloudflare 的 API Key 和 Email:

export CF_Email=''
export CF_Key=''

2.2 申请泛域名证书

注意yourdomain.com填写的是你的域名

使用 Cloudflare DNS 验证方式申请:

acme.sh --issue --dns dns_cf -d yourdomain.com -d '*.yourdomain.com'

参数说明

  • --dns dns_cf:使用 Cloudflare DNS 进行域名验证。
  • -d yourdomain.com -d '*.yourdomain.com':申请主域名和泛域名证书。

3. 证书安装及自动续订

3.1 安装证书到指定目录

将证书安装到 /etc/nginx/cert/ 目录,并自动续订:

acme.sh --install-cert -d yourdomain.com \
--key-file /etc/nginx/cert/yourdomain.com.key \
--fullchain-file /etc/nginx/cert/yourdomain.com.crt \
--reloadcmd "systemctl reload nginx"

3.2 确保证书自动续订

acme.sh 会自动续订证书,无需手动干预。可以使用以下命令检查续订任务:

crontab -l | grep acme.sh

如果需要手动触发续订:

acme.sh --renew -d yourdomain.com

4. 其他常用命令

4.1 查看证书列表

acme.sh --list

4.2 强制更新 acme.sh

acme.sh --upgrade

4.3 卸载 acme.sh

如果不再使用,可以卸载:

acme.sh --uninstall
rm -rf ~/.acme.sh

5. 最后

使用 acme.sh,可以轻松申请和管理 CA 证书,结合 Cloudflare DNS 验证,支持泛域名证书,并且自动续订,适用于大多数网站的 HTTPS 配置需求。