使用acme.sh
自动申请证书
使用 acme.sh
为在腾讯云 DNSPod
解析的域名自动申请证书(API3.0/腾讯云 DNSPod API 密钥版本)
安装 acme.sh
curl https://get.acme.sh | sh -s email=my@example.com
配置 acme.sh
acme.sh
是一个支持 ACME 协议的流行客户端,可以实现 SSL 证书的自动申请和续期。由于 DNSPod API 后续将不再维护,旧版 API 存在接口不稳定、权限无法细分控制、国内站和国际站接口不统一等问题,因此笔者基于 dns_dp
脚本,适配了腾讯云 API3.0 版本(dns_tencent
)。升级后的脚本将同时支持 DNSPod 国内站和国际站(暂仅支持国内站,国际站部分接口官方团队正在排期适配,预计 2024Q2 完成),不再需要针对国内站和国际站单独适配,同时支持使用子账号 API 密钥申请证书,权限可细分控制,接口更加稳定,使用更加方便、安全。
全新安装
适用于未安装 acme.sh
的用户,使用以下命令安装 acme.sh
客户端:
curl https://get.acme.sh | sh -s email=my@example.com
或者
wget -O - https://get.acme.sh | sh -s email=my@example.com
请将 my@example.com
替换为您的邮箱地址。
旧版升级
适用于 已安装 acme.sh
的用户,请运行以下命令升级 acme.sh
客户端:
acme.sh --upgrade
获取腾讯云 SecretId 和 SecretKey
方式一:使用主账号 API 密钥
- 登录腾讯云控制台,进入访问管理页面。
- 点击左侧菜单栏的访问密钥,进入 API 密钥管理页面。
- 点击新建密钥,创建 API 密钥,并记录保存 SecretId 和 SecretKey。
方式二:使用子账号 API 密钥
步骤一:新建权限策略
- 登录腾讯云控制台,进入访问管理页面。
- 点击左侧菜单栏的策略,进入策略管理页面,并点击新建自定义策略。
- 选择按策略语法创建-空白模板,填写基本信息,并将策略语法修改为以下内容,并点击完成创建。
{
"statement": [
{
"action": [
"dnspod:DescribeRecordFilterList",
"dnspod:DescribeRecordList",
"dnspod:CreateRecord",
"dnspod:DeleteRecord"
],
"effect": "allow",
"resource": [
"*"
]
}
],
"version": "2.0"
}
如需更精细的权限控制,可根据实际需求修改策略语法,详情请参考 CAM-DNS 解析 DNSPod。
步骤二:新建子账号并关联权限策略
申请证书
将获取到的 SecretId 和 SecretKey 导入环境变量中,以便 acme.sh
调用。
export Tencent_SecretId="<Your SecretId>"
export Tencent_SecretKey="<Your SecretKey>"