# 使用Acme.sh申请配置证书

ACME. SH 申请证书并使用 DNS-01 认证
<!--more-->


默认 CA 是 ZeroSSL，如果想用 Let's Encrypt 需要显示指定 `--server letsencrypt`  。似乎是 letsencrypt 申请证书比 zerossl 快一些。但是 letsencrypt 多次申请失败会限制 24 小时。
letsencrypt偏向开源免费，而zerossl偏商业。所以我还是选择letsencrypt。

- 安装：--install
- 选 CA：--set-default-ca
- 签发：--issue
- 部署到服务：--install-cert
- 续期：--renew
- 查看：--list

**官方说明不建议使用 sudo 提权，而是全程使用一个用户。**

**下载 ACME. SH**
```
curl https://get.acme.sh | sh -s email=you@example.com
```

## 申请证书
HTTP-01 和 DNS-01 质询的区别是：
- HTTP-01 需要开放 80 端口完成验证，也就是在`/. Well-known/acme-challenge/<token>`，然后证书签发机构再去抓取完成验证。
- DNS-01 则是在 `_acme-challenge.你的域名` 下面添加一条 TXT 记录完成验证。适合不开放 80 端口的情况。
### HTTP-01
如果已经搭建起网站：
```
~/.acme.sh/acme.sh --issue -d example.com -w /var/www/html --server letsencrypt
```

如果没有搭建起网站，就要临时启动一个 HTTP 服务占用 80 端口完成验证
```
~/.acme.sh/acme.sh --issue --standalone -d example.com --server letsencrypt --standalone
```

### **DNS-01：**
```
export CF_Token="你的token"
export CF_Account_ID="你的account_id"
~/.acme.sh/acme.sh --issue --dns dns_cf -d example.com -d '*.example.com' --server letsencrypt
```

Cloudflare_token 需要创建令牌拿到
![](https://1mg.1144514.xyz/2026/03/20260325204425725.webp)

Cloudflare_account_id 点进域名，右侧下滑可以看到。

### 手动 DNS 模式
如果域名托管商不提供 API，就需要手动在域名管理后台处添加 TXT 记录，完成后可以删除。

```
~/.acme.sh/acme.sh --issue --dns -d example.com --server letsencrypt
```

```
~/.acme.sh/acme.sh --renew -d example.com
```

## 安装证书
手动 cp 到服务目录的那份不会自动同步，也不会自动 reload 服务。需要用以下命令执行安装。
```
~/.acme.sh/acme.sh --install-cert -d dp.example.com --ecc \
--key-file /var/lib/derper/certs/dp.example.com.key \
--fullchain-file /var/lib/derper/certs/dp.example.com.crt \
--reloadcmd "systemctl restart derper"
```


## 参考
  1. README: https://github.com/acmesh-official/acme.sh
  2. 安装: https://github.com/acmesh-official/acme.sh/wiki/How-to-install
  3. DNS API: https://github.com/acmesh-official/acme.sh/wiki/dnsapi
  4. CA 选择: https://github.com/acmesh-official/acme.sh/wiki/Server
  5. sudo 说明: https://github.com/acmesh-official/acme.sh/wiki/sudo








---

> 作者: Chifan  
> URL: https://eo.chifan.de/posts/acme.sh/  

