创建加速域名接口
所有文档
menu

内容分发网络 CDN

创建加速域名接口

产品详情立即购买

接口

本接口用于在百度智能云CDN/DRCDN产品中创建加速域名,在请求该接口时必须已经开通CDN/DRCDN,且不允许创建未完成归属验证的域名,

您可以通过请求查询域名归属权验证接口查询如何验证归属权。

当您在自己的域名托管服务商中设置对应的DNS TXT完成验证之后,生效时间大概是0~5分钟,可通过请求查询域名是否可添加接口查询百度智能云侧是否已认可验证。

Method Path 说明
PUT /v2/domain/{domain} 创建一个加速域名

domain:表示需要创建CDN/DRCDN的加速域名。

请求体

参数 可选 类型 说明
origin 必选 OriginPeer[] 源站配置
defaultHost 可选 String 域名级别回源host,默认为加速域名。优先级低于源站的回源host(即OriginPeer.host)
follow302 可选 Bool 开启/关闭回源follow 302
form 可选 String 默认为"default",其他可选value:"image"表示图片小文件,"download"表示大文件下载,"media"表示流媒体点播,"dynamic"表示动静态加速
tags 可选 Tag[] 希望关联到的标签集合,标签个数最多为 10 个,且不允许对同一个域名绑定两个相同的 tagKey。
productType 可选 Int 合法值为 0 和 1,分别表示创建的域名类型为 CDN 和 DRCDN,默认值为 0。
当 productType 为 1 表示期望创建 DRCDN 域名时,必须显式配置 dsa 参数。
dsa 可选 DSA 动态加速规则,productType 为 1 时此项有效。
cacheTTL 可选 CacheTTL[] 缓存过期规则。

当设置 {"cacheTTL": null} 时表示全部文件都遵循源站的缓存时间规则。
当请求的 JSON Body 中无此字段,表明使用默认的缓存过期规则,即 .php/.jsp/.asp 等三类常见动态类型后缀资源不缓存,其它资源缓存30天,且源站缓存过期规则不生效。

建议使用者在创建 CDN 域名时显式设置符合业务类型的缓存过期时间。
同时,在创建域名完成之后也可以调用设置缓存过期规则接口进行更新。

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 可选 DSARule[] 动态加速规则列表
comment 可选 String 备注

DSARule 类型如下:

参数 可选 类型 说明
type 必选 String "suffix" 表示文件类型,"path" 表示动态路径,"exactPath" 表示动态URL, "method" 表示请求方法(支持"GET", "POST", "PUT", "DELETE", "OPTIONS")
value 必选 String type 所指定类型的配置规则,多条规则使用";"分割。比如配置多个HTTP方法进行动态加速时,其值可能为 "POST;PUT;DELETE"。

CacheTTL 类型如下:

参数 可选 类型 说明
type 必选 String "suffix" 表示文件名后缀,"path" 表示url中的目录,"code" 表示异常码缓存,如可以配置404缓存100s ,"exactPath" 表示路径完全匹配
value 必选 String type 所指定类型的配置规则
weight 可选 Int 权重,0-100的整数,权重越高优先级越高,默认为0,优先级在为 code 类型下是没有作用的,可以忽略
ttl 必选 Int 缓存时间,单位为秒
overrideOrigin 可选 Bool 缓存是否遵循源站,默认 true。overrideOrigin=true 表示不遵循源站,按照该条配置规则缓存

响应码

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
        }
    ]
}

请求示例——同时配置 cacheTTL

PUT /v2/domain/test.baidu.com HTTP/1.1
Host: cdn.baidubce.com
Content-Length: 367
Content-Type: application/json

{
    "origin": [
        {
            "peer": "http://origin.test.baidu.com",
            "host": "test.baidu.com",
            "weight": 10
        }
    ],
    "form": "image",
    "cacheTTL": [
        {
            "type": "path",
            "value": "/",
            "ttl": 86400,
            "weight": 1,
            "overrideOrigin": false
        }
    ]
}

请求示例——创建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"
}
上一篇
查询域名归属权验证方法
下一篇
查询用户名下所有域名