DNSPod(腾讯云)
Dotnify 通过腾讯云的 SecretId 和 SecretKey 连接 DNSPod。请求使用 TC3-HMAC-SHA256 签名算法——无需 SDK 依赖。
创建 SecretId 和 SecretKey
- 登录 腾讯云控制台
- 进入 访问管理 → API 密钥管理 → API 密钥
- 点击 新建密钥——系统将生成一对 SecretId 和 SecretKey
- 妥善保存 SecretKey——关闭弹窗后将无法再次查看
WARNING
DNSPod 使用的是腾讯云统一的 API 凭证。如果你已有具备 DNS 权限的 SecretId/SecretKey,可以直接复用,无需重新创建。
所需权限
API 密钥需要具备以下 DNSPod 权限:
| 服务 | 操作 | 说明 |
|---|---|---|
| DNSPod | dnspod:DescribeDomainList | 获取域名列表 |
| DNSPod | dnspod:DescribeRecordList | 获取解析记录列表 |
| DNSPod | dnspod:CreateRecord | 创建解析记录 |
| DNSPod | dnspod:ModifyRecord | 修改解析记录 |
| DNSPod | dnspod:DeleteRecord | 删除解析记录 |
| DNSPod | dnspod:DescribeRecordLineCategoryList | 获取解析线路列表 |
可以在 访问管理 → 策略 → 新建自定义策略 中分配这些权限。
自定义策略示例(JSON):
{
"version": "2.0",
"statement": [
{
"effect": "allow",
"action": [
"dnspod:DescribeDomainList",
"dnspod:DescribeRecordList",
"dnspod:CreateRecord",
"dnspod:ModifyRecord",
"dnspod:DeleteRecord",
"dnspod:DescribeRecordLineCategoryList"
],
"resource": "*"
}
]
}为简便起见,你也可以直接使用 QcloudDNSPodFullAccess 预设策略,授予完整的 DNSPod 访问权限。
在 Dotnify 中添加服务商
- 进入 服务商 → 添加服务商
- 选择 DNSPod 作为服务商类型
- 输入 显示名称(例如"我的 DNSPod")
- 输入 SecretId 和 SecretKey
- 点击 验证并继续
Dotnify 将使用提供的凭据尝试获取域名列表。如果验证失败,请检查:
- SecretId 和 SecretKey 是否复制正确
- API 密钥是否具备所需的 DNSPod 权限
- 账号是否在 DNSPod 中配置了域名
选择域名
验证通过后,Dotnify 会显示该凭据可访问的所有域名。你可以:
- 勾选特定域名 — 仅管理选中的域名
- 全部不勾选 — 管理所有可访问的域名
之后可以通过编辑服务商来修改域名选择。
Dotnify 如何使用凭据
Dotnify 将 SecretId 和 SecretKey 存储在 Redis 中,并使用它们对 DNSPod API(版本 2021-03-23)发起签名请求:
| 操作 | DNSPod API Action |
|---|---|
| 获取域名列表 | DescribeDomainList |
| 获取记录列表 | DescribeRecordList |
| 创建记录 | CreateRecord |
| 修改记录 | ModifyRecord |
| 删除记录 | DeleteRecord |
| 获取线路列表 | DescribeRecordLineCategoryList |
所有请求使用 TC3-HMAC-SHA256 算法签名,以 POST 方式发送到 https://dnspod.tencentcloudapi.com/。
DNSPod 特有功能
解析线路
DNSPod 支持解析线路——你可以为不同的运营商、地域或搜索引擎设置不同的记录(例如默认、电信、联通、移动、百度、谷歌等)。在 Dotnify 中创建或编辑记录时,可以通过下拉菜单选择解析线路。
与华为云(使用本地静态文件)不同,DNSPod 的线路数据是通过 API 实时获取的,调用 DescribeRecordLineCategoryList 接口。不同域名可用的线路可能因 DNSPod 套餐而异。
线路按两级层级组织:
| 分类 | 示例 |
|---|---|
| 默认 | 默认线路 |
| 运营商 | 电信、联通、移动 |
| 地域 | 中国、境外、各大洲、国家 |
| 搜索引擎 | 百度、谷歌、必应、有道、搜狗、奇虎 |
在 Dotnify 的线路选择器中,第一个下拉框显示顶级分组,第二个下拉框显示该分组下的具体线路。
记录权重
DNSPod 支持按记录设置权重。创建或编辑记录时可以设置权重值,适用于负载均衡场景——DNSPod 会根据权重比例在同名称、同类型的记录之间分配流量。
最低 TTL
DNSPod 免费版强制 最低 TTL 为 600 秒(10 分钟)。Dotnify 会自动处理此限制:如果你设置的 TTL 低于 600,将被自动向上取整为 600。
| 套餐 | 最低 TTL |
|---|---|
| 免费版 | 600 秒 |
| 专业版 | 300 秒 |
| 企业版 | 60 秒 |
| 旗舰版 | 1 秒 |
URL 转发类型
DNSPod 使用中文名称表示 URL 转发记录类型。Dotnify 自动在标准名称和 DNSPod API 名称之间进行转换:
| Dotnify 类型 | DNSPod API 类型 |
|---|---|
REDIRECT_URL | 显性URL |
FORWARD_URL | 隐性URL |
记录状态
DNSPod 记录具有启用/禁用状态。Dotnify 在记录上暴露了 status 字段("enable" 或 "disable")。当前版本中此字段为只读。
安全注意事项
- SecretId 和 SecretKey 以 明文 存储在 Redis 中(当前 MVP 设计)。请使用强密码保护你的 Redis 实例。
- 通过 API 返回服务商列表时,密钥会被 脱敏处理 — 仅显示最后 4 个字符。
- 编辑服务商时,可以将 SecretId/SecretKey 字段留空以保留当前值不变。
- 所有 DNSPod API 调用均在服务端进行 — 凭据不会暴露给浏览器。