Skip to content

Cloudflare

Dotnify 使用 API 令牌(而非全局 API 密钥)连接 Cloudflare。令牌在调用 Cloudflare API v4 时作为 Authorization 头中的 Bearer 令牌发送。

创建 API 令牌

  1. 登录 Cloudflare 控制台
  2. 前往 我的个人资料API 令牌
  3. 点击 创建令牌
  4. 使用 编辑区域 DNS 模板(推荐),或创建自定义令牌

推荐权限

Dotnify 管理你的 DNS 记录,令牌至少需要:

权限范围
区域 - DNS - 编辑特定区域或所有区域
区域 - 区域 - 读取特定区域或所有区域

如果希望 Dotnify 列出所有解析域(用于解析域选择步骤),令牌必须对要管理的解析域具有区域 - 区域 - 读取权限。

使用"编辑区域 DNS"模板

内置模板提供了正确的权限。使用时:

  1. 区域资源下,选择令牌可访问的解析域
    • 所有区域——令牌可访问账户中的每个解析域
    • 特定区域 → 选择个别解析域
  2. 点击 继续到摘要创建令牌
  3. 复制令牌值——之后将无法再查看

在 Dotnify 中添加服务商

  1. 前往 服务商添加服务商
  2. 选择 Cloudflare 作为服务商类型
  3. 输入显示名称(如 "Production Cloudflare"、"Staging Cloudflare")
  4. 粘贴 API 令牌
  5. 点击验证并继续

Dotnify 将调用 Cloudflare 的 /user/tokens/verify 端点验证令牌,然后获取你的解析域。如果验证失败,请检查:

  • 令牌是否正确复制(无尾部空格)
  • 令牌是否已过期
  • 令牌是否具有所需权限

选择解析域

验证后,Dotnify 显示令牌可访问的所有解析域。你可以:

  • 勾选特定解析域以仅管理这些域名
  • 全部不勾选以管理每个可访问的解析域

之后可以通过编辑服务商来更改解析域选择。

Dotnify 如何使用令牌

Dotnify 将 API 令牌存储在 Redis 中,并使用它直接调用 Cloudflare API v4

操作Cloudflare 端点
验证令牌GET /client/v4/user/tokens/verify
列出解析域GET /client/v4/zones
列出记录GET /client/v4/zones/{zoneId}/dns_records
创建记录POST /client/v4/zones/{zoneId}/dns_records
更新记录PATCH /client/v4/zones/{zoneId}/dns_records/{recordId}
删除记录DELETE /client/v4/zones/{zoneId}/dns_records/{recordId}

Cloudflare 特有功能

TTL 自动模式

Cloudflare 支持自动 TTL。在 Dotnify 中,将 TTL 设置为 1 即启用自动 TTL。当 TTL 为 1 时,UI 显示"自动"。

代理记录(橙云)

Cloudflare 允许 DNS 记录通过其网络代理。在 Dotnify 中创建或编辑记录时,可以切换代理复选框。此功能仅适用于 Cloudflare 服务商。

记录注释

Cloudflare 支持对 DNS 记录添加注释。Dotnify 在读取和显示记录时保留注释。

安全说明

  • API 令牌以明文存储在 Redis 中(当前 MVP 设计)。请使用强凭据保护你的 Redis 实例。
  • 通过 API 返回服务商列表时,令牌被掩码——仅显示最后 4 个字符。
  • 编辑服务商时,可以留空令牌字段以保持当前令牌不变。
  • 令牌从不发送到客户端 JavaScript——所有 Cloudflare API 调用均在服务端进行。