使用acme.sh自动签发ssl证书

401

创建阿里云子账户用来管理域名解析

创建用户

image.png

image.png

在权限管理新增这两个权限

AliyunDomainFullAccess - 管理域名服务的权限
AliyunDNSFullAccess - 管理云解析(DNS)的权限
AliyunPvtzFullAccess - 管理云解析PrivateZone的权限

安装acme.sh

下载acme.sh

直接执行脚本安装不了就去github把acme.sh文件下载下来
中国大陆境内安装acme.sh

给执行权限

1
chmod 744 acme.sh

安装

./acme.sh --install -m v-kun@foxmail.com

执行后会在用户目录生成.acme.sh文件夹

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
root@iZnthgcp44a7pgZ:/v-kun/nginx-1.26.3# ./acme.sh --install -m v-kun@foxmail.com [Wed Feb 4 03:13:57 PM CST 2026] Installing to /root/.acme.sh [Wed Feb 4 03:13:57 PM CST 2026] Installed to /root/.acme.sh/acme.sh [Wed Feb 4 03:13:57 PM CST 2026] Installing alias to '/root/.bashrc' [Wed Feb 4 03:13:57 PM CST 2026] Close and reopen your terminal to start using acme.sh [Wed Feb 4 03:13:57 PM CST 2026] Installing cron job 25 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null [Wed Feb 4 03:13:57 PM CST 2026] bash has been found. Changing the shebang to use bash as preferred. [Wed Feb 4 03:13:58 PM CST 2026] OK root@iZnthgcp44a7pgZ:/v-kun/nginx-1.26.3# cd /root/.acme.sh/``` ### 把阿里云信息配置到环境变量 ```shell export Ali_Key="刚才创建的阿里云账户" export Ali_Secret="刚才创建的阿里云账户"

生成证书

1
./acme.sh --issue --debug --dns dns_ali -d v-kun.com -d '*.v-kun.com'

如果证书中只包含泛域名,那么签发出来的证书是没有根域的。所以需要额外添加一个根域

安装证书

1
./acme.sh --install-cert -d v-kun.com --key-file /v-kun/program/nginx-1.26.1/cert/v-kun.com.key --fullchain-file /v-kun/program/nginx-1.26.1/cert/v-kun.com.pem --reloadcmd "/v-kun/program/nginx-1.26.1/sbin/nginx -s reload"

遇到问题

Can not find dns api hook for: dns_ali

如果只下载acme.sh还需要下载dnsapi/dns_ali.sh 放到~/.acme.sh目录
下载地址:https://bgithub.xyz/acmesh-official/acme.sh/tree/master/dnsapi

Error add txt for domain

需要将dns_ali.sh回退版本
https://github.com/acmesh-official/acme.sh/issues/6320

目录