免费证书自动部署

Posted by NekouTarou on 01-02,2026

之前一直使用阿里云的免费个人证书,后来阿里调整了个人证书的有效期只有90天,目前我有一个主域名以及四个子域名,每次到期都要挨个申请替换,非常麻烦,最近找到一个可以自动申请续期的工具。

EAB 免费证书

官网

https://freessl.cn/

EAB KID:登录后根据引导创建
EAB MAC Key:登录后根据引导创建

安装

安装教程参考官方文档
下面是国内安装的方法

git clone https://gitee.com/neilpang/acme.sh.git 
cd acme.sh 
./acme.sh --install -m 824672177@qq.com

注意不能直接拷贝acme.sh文件单独运行,否则后面DNS API会找不到

安装之后会自动创建定时任务

申请证书全过程

首次运行

注册 ACME 账户(首次运行)

使用 EAB 凭证绑定您的 ACME 账户。

acme.sh --register-account --server https://acme.litessl.com/acme/v2/directory \
--eab-kid 官网创建 \
--eab-hmac-key 官网创建

配置环境变量

导入 DNS 提供商的 API 凭证以实现自动验证。

export Ali_Key="阿里云申请" 
export Ali_Secret="阿里云申请"

注意此AccessKey需要注意过期时间

申请证书

执行命令以验证域名所有权并签发证书。

acme.sh --issue --server https://acme.litessl.com/acme/v2/directory \ 
--dns dns_ali \
 -d "*.jiusia.top" \ 
 -d "jiusia.top" \ 
 --keylength ec-256

这里裸域名和通配域名一起申请

部署证书

acme.sh --install-cert -d "*.jiusia.top" \
--ecc \
--key-file       /etc/nginx/ssl/jiusia.top.key  \
 --fullchain-file /etc/nginx/ssl/jiusia.top.cer \
--reloadcmd     "service nginx force-reload"

验证下证书的解析域名

[root@ecs-296788 ssl]# openssl x509 -in /etc/nginx/ssl/jiusia.top.cer -text -noout | grep "DNS:"
                DNS:*.jiusia.top, DNS:jiusia.top

可以看到主域名和子域名都已解析。

定时任务会根据生成的配置信息重新申请证书,验证通过之后覆盖然后重启nginx