go aliyun dns


原文链接: go aliyun dns

设置域名解析DOC
获取解析记录信息API

1. 获取域名解析列表 DescribeDomainRecords

{
    "RequestId": "536E9CAD-DB30-4647-AC87-AA5CC38C5382",
    "TotalCount": 2,
    "PageNumber": 1,
    "PageSize": 2,
    "DomainRecords": {
        "Record": [
            {
                "DomainName": "example.com",
                "RecordId": "9999985",
                "RR": "www",
                "Type": "MX",
                "Value": "mail1.hichina.com",
                "Line": "default",
                "Priority": 5,
                "TTL": 600,
                "Status": "Enable",
                "Locked": false
            },
            {
                "DomainName": "example.com",
                "RecordId": "9999986",
                "RR": "www",
                "Type": "MX",
                "Value": "mail2.hichina.com",
                "Line": "default",
                "Priority": 10,
                "TTL": 600,
                "Status": "Enable",
                "Locked": false
            }
        ]
    }
}

2.获取单条 Domain 详细记录 DescribeDomainRecordInfo

type Record struct {
	RequestId string  // 唯一请求识别码
	RecordId  string  // 解析记录的ID     "9999985"
	Type      string  // 记录类型 	      "MX"
	RR        string  // 解析类型  	      "@"
	Value     string  // 记录值           "mail.hichina.com"
	Line      string  // 解析线路         "default"
	TTL       float64 // 生存时间         600
	Priority  int32   // MX记录的优先级    5
	Status    string  // 解析记录状态,    Enable/Disable
	Locked    bool    // 解析记录锁定状态,true/false
}

DomainRecord 的默认值

Type: 只能添加A和CNAME记录类型
RR: 允许同时添加www和@记录;如果主机记录内容为空,则认为是@记录
Value: 记录值不能为空
Line: 解析线路默认为 "默认"
TTL: 默认为 "10分钟"

DomainRecord 结构体详解

1. 记录类型 Type

支持A、MX、CNAME、NS、TXT、AAAA、SRV、显性URL、隐形URL9种记录类型,文字必须保持一致。
支持的记录类型包括:

A - 将域名指向一个IPv4地址。
CNAME - 将域名指向另外一个域名,再由另一个域名提供ip地址,CDN、OSS、WAF、高防IP域名。相同主机记录,可以添加多条CNAME域名,DNS查询时,轮询响应不同CNAME域名。
AAAA - 将域名指向一个IPv6地址。
NS - 为子域名指定DNS服务器。如果需要把子域名交给其他DNS服务商解析,就需要添加NS记录
MX - 将域名指向邮件服务器地址。
SRV - 用来标识某台服务器使用了某个服务 RR:服务的名字.协议的类型 (_example-server._tcp) value:优先级 权重 端口 主机名 (0 5 5060 sipserver.ccxcn.com)
TXT - 为记录添加说明,可用于创建SPF记录。
CAA - CA证书颁发机构授权校验。
显性URL - 将域名302重定向到另外一个地址,并且显示真实目标地址。
隐形URL - 将域名302重定向到另外一个地址,但是隐藏真实目标地址。
//you can read doc at https://docs.aliyun.com/#/pub/dns/api-reference/enum-type&record-format
const (
	ARecord           = "A"
	NSRecord          = "NS"
	MXRecord          = "MX"
	TXTRecord         = "TXT"
	CNAMERecord       = "CNAME"
	SRVRecord         = "SRV"
	AAAARecord        = "AAAA"
	RedirectURLRecord = "REDIRECT_URL"
	ForwordURLRecord  = "FORWORD_URL"
)

主机记录 RR

主机记录(RR)值合法字符包含a-z、A-Z、0-9、'-' 、'_' 、'.'、'*'、'@'、'中文汉字'
域名前缀,与域名共同组成解析对象。假设域名为 aliyun.com,则常见用法如下:

www:解析域名 www.aliyun.com。
@:直接解析主域名 aliyun.com。
*:泛解析,解析所有子域名。
mail:解析域名 mail.aliyun.com,用于邮箱服务器。
m:解析域名 m.aliyun.com,用于手机网站。
二级域名:例如填写 abc,用于解析 abc.aliyun.com。

记录值 Value

根据记录类型设置解析结果。
A记录的记录值为IPv4形式;
NS、MX、CNAME记录的记录值为域名形式;
TXT记录的记录值为字符串形式(如字母、数字等);
AAAA记录的记录值为IPv6形式;
SRV记录的记录值服务的名字.协议的类型(例如:_example-server._tcp);
显性URL和隐形URL为网址格式(如:http(s)://www.net.cn),且不支持中文域名。

解析线路 Line

使用的解析线路。
仅支持云解析现有的线路,默认、联通、电信、移动、教育网、海外、百度、谷歌、必应9种解析线路

TTL值

解析结果在递归DNS中的保存时长。
TTL 按照秒的数字判断
标准值为:
10分钟:600
30分钟:1800
1小时:3600
12小时:43200
24小时:86400 如果为非数字,均统一为600;
如果为非标准值,则转化为最靠近的标准值(在两个标准值正中间的,标准值取小不取大);
如果小于600的,都统一为600;

3. 获取子域名的记录列表 DescribeSubDomainRecords

`