Skip to content

MMHK/caddy-dnspodcn

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Caddy2 DNSPod.cn DNS Provider Module

Build Status Go.Dev reference Go Report Card Release

Caddy DNS provider module for DNSPod (基于腾讯云 DNSPod API 3.0)。

功能特点

  • 支持 Let's Encrypt / ZeroSSL ACME DNS-01 挑战
  • 使用腾讯云 CAM 密钥 (SECRET_ID / SECRET_KEY) 进行认证
  • 支持全局 acme_dns 配置,所有站点自动使用 DNS 挑战
  • 自动清理 ACME 挑战记录,避免残留

安装

安装 xcaddy

go get -u github.com/caddyserver/xcaddy/cmd/xcaddy

使用 dnspodcn 模块重新编译 Caddy

xcaddy build --with github.com/mmhk/caddy-dnspodcn

配置

认证方式

本模块使用腾讯云访问密钥进行认证,需要在 腾讯云控制台 获取:

  • SECRET_ID: 访问密钥 ID
  • SECRET_KEY: 访问密钥 Secret

Caddyfile 配置

单站点配置:

tls {
  dns dnspodcn {
    secret_id {env.DNSPOD_SECRET_ID}
    secret_key {env.DNSPOD_SECRET_KEY}
  }
}

全局配置(所有站点使用 DNS 挑战):

{
  acme_dns dnspodcn {
    secret_id {env.DNSPOD_SECRET_ID}
    secret_key {env.DNSPOD_SECRET_KEY}
  }
}

快捷配置(位置参数):

tls {
  dns dnspodcn {env.DNSPOD_SECRET_ID} {env.DNSPOD_SECRET_KEY}
}

JSON 配置

{
  "module": "acme",
  "challenges": {
    "dns": {
      "provider": {
        "name": "dnspodcn",
        "secret_id": "YOUR_SECRET_ID",
        "secret_key": "YOUR_SECRET_KEY"
      }
    }
  }
}

配置参数

参数 说明
secret_id 腾讯云访问密钥 ID
secret_key 腾讯云访问密钥 Secret

环境变量

可以通过环境变量配置认证信息:

tls {
  dns dnspodcn {
    secret_id {env.DNSPOD_SECRET_ID}
    secret_key {env.DNSPOD_SECRET_KEY}
  }
}

设置环境变量:

export DNSPOD_SECRET_ID="your_secret_id"
export DNSPOD_SECRET_KEY="your_secret_key"

进阶配置

调整 DNS 传播超时时间

默认 DNS 传播可能需要一些时间,可以调整超时:

tls {
  dns dnspodcn {env.DNSPOD_SECRET_ID} {env.DNSPOD_SECRET_KEY}
  propagation_timeout 5m
}

调试模式

开启调试日志查看详细信息:

{
  debug
}

your-domain.com {
  tls {
    dns dnspodcn {env.DNSPOD_SECRET_ID} {env.DNSPOD_SECRET_KEY}
  }
}

相关链接

About

Caddy2 DNSPod.cn DNS Provider 模块

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Go 100.0%