ACME通过阿里云DNS验证申请证书
本文發佈於552天前,文中的資訊可能已有所發展或是改變,請謹慎使用!
AI摘要:ACME通过阿里云DNS验证申请证书的过程包括:使用acme.sh工具,通过阿里云DNS公开API和用户AK进行交互。首先在阿里云RAM访问控制中创建用户并设置权限,然后生成AccessKeyId和AccessKeySecret。在.bashrc文件中配置这些密钥,并使用acme.sh命令进行DNS验证和证书颁发,支持单域名、多域名和泛域名。
Powered by 部落Bot.
需求与目的
由于某些特殊原因(站点仅作为反向代理或者在内网),需要选择通过域名 DNS(配置一个随机的 TXT 记录)的方式来做证书申请的验证
acme.sh 支持多种域名验证方式,详细列表点这里。这里以我们常用的阿里云 DNS 为例。
acme.sh 访问阿里云 DNS 是通过阿里云 DNS 公开 API 以及用户的 AK 来进行交互的。
阿里云 AK 是使用RAM访问控制来添加的。操作如下:
RAM 用户
- 打开访问控制,然后点击“身份管理”,点击“创建用户”,输入用户名、备注;
- “访问方式”选择
OpenAPI 调用访问
启用 AccessKey ID 和 AccessKey Secret,支持通过 API 或其他开发工具访问 - 点击右边的“添加权限”按钮,打开授权窗口。
权限
在授权窗口搜索“DNS”,选择“管理云解析(DNS)的权限”。
密钥
- 点击新建的RAM用户进入详情页面。
- 在下方点击“创建 AccessKey”,弹出创建成功对话框,对话框里显示了“AccessKeyId”和“AccessKeySecret”,先保存下来。
添加配置
在.bashrc
里添加
export Ali_Key="AccessKeyId"
export Ali_Secret="AccessKeySecret"
然后
source ~/.bashrc
颁发证书
DNS 验证
可以进行单域名、多域名、泛域名进行颁发。
acme.sh --issue --dns dns_ali -d xxx.com -d *.xxx.com
这里会进行域名的 DNS 验证,中间会等待 120 秒来验证正确性,验证成功后会有成功标记。