创建加速域名接口
更新时间:2024-05-28
接口
本接口用于在百度智能云CDN/DRCDN产品中创建加速域名,在请求该接口时必须已经开通CDN/DRCDN,且不允许创建未完成归属验证的域名,
您可以通过请求查询域名归属权验证接口查询如何验证归属权。
当您在自己的域名托管服务商中设置对应的DNS TXT完成验证之后,生效时间大概是0~5分钟,可通过请求查询域名是否可添加接口查询百度智能云侧是否已认可验证。
Method | Path | 说明 |
---|---|---|
PUT | /v2/domain/{domain} | 创建一个加速域名 |
domain:表示需要创建CDN/DRCDN的加速域名。
请求体
参数 | 可选 | 类型 | 说明 |
---|---|---|---|
origin | 必选 | OriginPeer[]类型,OriginPeer表示一个源站。 | 源站配置 |
defaultHost | 可选 | String | 域名级别回源host,默认为加速域名。优先级低于源站的回源host(即OriginPeer.host) |
follow302 | 可选 | Bool | 开启/关闭回源follow 302 |
form | 可选 | String | 默认为"default",其他可选value:"image"表示图片小文件,"download"表示大文件下载,"media"表示流媒体点播,"dynamic"表示动静态加速 |
tags | 可选 | Tag[] | 希望关联到的标签集合,标签个数最多为 10 个,且不允许对同一个域名绑定两个相同的 tagKey。 |
productType | 可选 | Integer | 合法值为 0 和 1,分别表示创建的域名类型为 CDN 和 DRCDN,默认值为 0。当 productType 为 1 表示期望创建 DRCDN 域名时,必须显示配置 dsa 参数。 |
dsa | 可选 | DSA | 动态加速规则,productType 为 1 时此项有效。 |
OriginPeer 类型如下:
参数 | 可选 | 类型 | 说明 |
---|---|---|---|
peer | 必选 | string | 格式为 ${protocol}://${address}:${port},其中protocol可选,合法值为http和https,默认为http;port可选,分http回源端口以及https回源端口,当protocol为https时设置的是https回源端口,反之则设置的是http回源端口;address必须为ip或者域名,当address为IPv6地址时,必须为用中括号[]扩起来。当address为域名时,表示DOMAIN类型源站;当address为IP时,表示IP类型源站。 示例: 1、IPv4类型源站:https://171.107.86.35:443 2、IPv6类型源站:http://[240e:00a5:4200:0100::171.107.86.35]:80 3、域名类型源站:http://myself.baidu.com:8080 |
host | 可选 | string | 回源时使用的host值,该host为源站级别的host,每个源站可以配置一个host |
backup | 可选 | bool | 是否为备份源站,true表示备份源站,false表示主源站,默认为false |
weight | 可选 | int | 源站权重,值为1-100之间的整数。当源站为DOMAIN类型时此项无意义。举例:按照权重分配回源的流量。假设某加速域名有2个IP类型的源站,一个IP源站权重是80,另一个是20,总的回源量是1G,那么,其中一个IP源站大约会有800M的回源,另一个大约会有200M的回源 |
isp | 可选 | string | 源站所属的运营商。默认无,可选值为un(联通)、ct(电信)、cm(移动) |
Tag 类型如下:
参数 | 可选 | 类型 | 说明 |
---|---|---|---|
tagKey | 必选 | string | 标签的键,可包含大小写字母、数字、中文以及-_ /.特殊字符,长度 1-65 |
tagValue | 可选 | string | 标签的值,可包含大小写字母、数字、中文以及-_ /.特殊字符,长度 0-65 |
DSA 类型如下:
参数 | 可选 | 类型 | 说明 |
---|---|---|---|
enabled | 必选 | Bool | true为配置规则,false为删除规则 |
rules | 可选 | List<DSARule> | 动态加速规则列表 |
comment | 可选 | String | 备注 |
DSARule 类型如下:
参数 | 可选 | 类型 | 说明 |
---|---|---|---|
type | 必选 | String | "suffix" 表示文件类型,"path" 表示动态路径,"exactPath" 表示动态URL, "method" 表示请求方法(支持"GET", "POST", "PUT", "DELETE", "OPTIONS") |
value | 必选 | String | type 所指定类型的配置规则,多条规则使用";"分割。比如配置多个HTTP方法进行动态加速时,其值可能为 "POST;PUT;DELETE"。 |
响应码
HTTP Status Code | 说明 |
---|---|
201 | 创建成功 |
400 | 域名已经存在、域名检查失败、缺乏必要参数、参数值错误、域名被封禁 |
响应体
参数 | 类型 | 说明 |
---|---|---|
insId | String | 域名对应的实例ID |
status | String | 刚创建成功返回的status是OPERATING |
cname | String | 生成的CNAME域名,用户通过将加速域名CNAME至该域名实现加速 |
请求示例
请求示例——指定http回源端口
PUT /v2/domain/test.baidu.com HTTP/1.1
Host: cdn.baidubce.com
Accept: */*
Content-Length: 77
Content-Type: application/json
{
"origin":[
{
"peer":"http://129.226.184.12:8001",
"host":"myhost.com"
}
]
}
请求示例——使用ipv4源站
PUT /v2/domain/test.baidu.com HTTP/1.1
Host: cdn.baidubce.com
Accept: */*
Content-Length: 77
Content-Type: application/json
{
"origin":[
{
"peer":"http://origin.test.baidu.com",
"host":"test.baidu.com",
"weight":10
}
],
"form":"image"
}
请求示例——使用ipv6源站
PUT /v2/domain/test.baidu.com HTTP/1.1
Host: cdn.baidubce.com
Accept: */*
Content-Length: 77
Content-Type: application/json
{
"origin": [
{
"peer": "http://[2001:da8:20d:22::2]:80",
"host": "test.baidu.com",
"weight":10
}
]
}
请求示例——同时配置ipv4和ipv6源站
PUT /v2/domain/test.baidu.com HTTP/1.1
Host: cdn.baidubce.com
Accept: */*
Content-Length: 77
Content-Type: application/json
{
"origin": [
{
"peer": "http://[2001:250:3003:13::94]",
"host": "test.baidu.com",
"weight":1
},
{
"peer": "http://129.226.184.12",
"host": "test.baidu.com",
"weight":2
}
]
}
请求示例——创建DRCDN域名
PUT /v2/domain/test.baidu.com HTTP/1.1
Host: cdn.baidubce.com
Accept: */*
Content-Length: 633
Content-Type: application/json
{
"origin": [
{
"peer": "http://test.baidu.com",
"host": "baidu.com"
}
],
"productType": 1,
"dsa": {
"enabled": true,
"rules": [
{
"type": "suffix",
"value": ".do"
},
{
"type": "path",
"value": "/abc"
},
{
"type": "exactPath",
"value": "/test/api"
},
{
"type": "method",
"value": "POST;PUT"
}
],
"comment": "test"
}
}
响应示例
HTTP/1.1 201 Created
Server: nginx
Date: Thu, 20 Jun 2019 09:34:05 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/7.1.5
x-bce-request-id: e50749de-3e03-e9a8-6ed5-8d29b26730e9
{
"insId":"xxx-xxx",
"status":"OPERATING",
"cname":"test.baidu.com.a.bdydns.com"
}