使用 acme.sh 通过 DNS API 申请通配符证书
自动证书管理环境( Automatic Certificate Management Environment ) 协议是一种通信协议,简称 「ACME」,用于自动化证书颁发机构与其用户的 Web 服务器之间的交互,允许以非常低的成本自动部署公钥基础设施。
acme.sh 脚本是一个纯粹用 Shell(Unix shell)语言编写的 ACME 协议客户端,使用广泛。
如果申请单域名证书有很多种方式,但是通配符证书就得使用 DNS API 方式申请。
由于把域名托管在 Cloudflare,所以使用 Cloudflare API。
在中文互联网里,都是使用 Cloudflare 的全局 API KEY 进行配置,为了安全起见,这里使用 Cloudflare API Token 进行配置,并且把 API Token 限制为仅对单个域的 Zone.DNS 的写入访问。
打开API 令牌页面获取 API 令牌。
点击 Create Token
按钮
点击 Edit Zone DNS
后面的 Use template
,通过模版进行修改
根据自己的实际情况在下拉列表框中选择域名
之后点击继续就能获取 API Token
API Token
只会显示这一次,所以应该保存到安全的地方,以免遗忘。
而 Account_ID
和 Zone_ID
则在该域名的 Overview
页面
写入配置
1 |
|
签发证书
1 |
|
CF_Token
和 CF_Account_ID
被保存在 ~/.acme.sh/account.conf
文件。