使用 acme.sh 自动验证为域名签发证书
使用 acme.sh 自动验证为域名签发证书
本文记录在服务器端 通过 FinalShell 操作,使用 acme.sh + DNSPod.cn 的 DNS 自动验证方式 为域名申请并管理 HTTPS 证书的完整配置流程。整体流程偏向实用与可复现,适合日常服务器维护与长期证书管理。
一、准备条件
在开始之前,请确认你已具备以下条件:
- 一台 Linux 服务器(常见如 CentOS / Ubuntu)
- 已安装并可正常使用 FinalShell 连接服务器
- 一个已备案/可解析的域名
- 域名托管在 DNSPod.cn
- DNSPod 账号的 API 密钥(ID + Token)
DNS 自动验证的优势在于:
- 不依赖服务器 80 / 443 端口
- 适合内网、未部署 Web 服务的服务器
- 支持泛域名证书(
*.example.com)
二、安装 acme.sh
安装 acme.sh 非常简单,一条命令即可完成,普通用户和 root 用户都可以安装和使用。
方式一:使用 curl(推荐)
1 | curl https://get.acme.sh | sh -s email=my@example.com |
方式二:使用 wget
1 | wget -O - https://get.acme.sh | sh -s email=my@example.com |
安装完成后,重新加载环境变量:
1 | source ~/.bashrc |
验证是否安装成功:
1 | acme.sh --version |
默认安装路径:
1 | ~/.acme.sh/ |
📸 配图建议:
- FinalShell 中执行安装命令的终端截图
- 成功输出
acme.sh --version的结果截图
三、DNSPod 这边需要做什么?
在服务器动手之前,先把 DNSPod 后台这件事处理好
1. 确认域名托管在 DNSPod
先打开 DNSPod 控制台
2. 创建 DNSPod API Token
进入 DNSPod 控制台后:
- 打开 账号中心 / API 密钥管理
- 创建一个新的 API Token
创建完成后,你会得到两项信息:
DP_IdDP_Key
这两个值只会完整显示一次,建议当场保存好。

图中ID为DP_Id Token为DP_Key
四、在服务器里配置 DNSPod API
网页端准备好之后,回到服务器,才轮到 acme.sh 登场。
1. 配置
在 FinalShell 里执行:
1 | export DP_Id="你的DNSPod_ID" |
将服务器与poddns连接
四、使用 DNS 自动验证申请证书
1. 申请单域名证书
1 | acme.sh --issue --dns dns_dp -d example.com |
2. 申请泛域名证书(推荐)
1 | acme.sh --issue --dns dns_dp -d example.com -d '*.example.com' |
acme.sh 会自动完成以下操作:
- 调用 DNSPod API
- 添加
_acme-challengeTXT 记录 - 验证完成后自动清理 DNS 记录
整个过程无需手动干预。
五、查看证书文件位置
证书生成后默认存放在:~/.acme.sh/example.com_ecc/ 下
六、安装证书
找到证书进行安装即可


