修改加速区域
用户修改全站加速普通域名及泛域名区域覆盖接口
请求包
PUT /domain/<Name>/geocover
Content-Type: application/json
Authorization: QBox <AccessToken>
{
"geoCover": <GeoCover>
}
参数解释
| 参数 | 类型 | 必填 | 含义 |
|---|
| Name | string | 是 | 域名 |
| GeoCover | string | 是 | 地域: china/foreign/global(中国大陆/海外/全球) |
错误码
| 错误码 | 含义 |
|---|
| 400001 | 非法域名 |
| 400004 | 未知覆盖 |
| 400108 | 覆盖冲突 |
| 400020 | 域名未备案 |
| 400030 | 正在处理中 |
| 400064 | 无权处理该域名 |
| 400066 | 域名状态为失败 |
| 400078 | 未备案的海外域名,对七牛资源的使用错误 |
| 400093 | 非法的域名类型 |
| 400313 | 域名有手动配置的时间戳防盗链 |
| 400923 | 域名已冻结 |
| 400998 | 域名已下线 |
| 404001 | 无此域名 |
| 500000 | 未知内部错误 |
| 500005 | 数据查询内部出错 |
| 500930 | 不能操作已删除的域名 |
修改源站
结构
PUT /domain/<Name>/source
Content-Type: application/json
Authorization: QBox <AccessToken>
{
sourceType: <SourceType>,
sourceHost: <SourceHost>,
sourceIPs: [<SourceIP>, ...],
sourceDomain: <SourceDomain>,
sourceQiniuBucket: <SourceQiniuBucket>,
sourceURLScheme: <SourceURLScheme>,
advancedSources: [
{
addr: <ASAddr>,
weight: <ASWeight>,
backup: <ASBackup>
}
],
testURLPath: <TestURLPath>
}
| 参数 | 类型 | 必填 | 含义 |
|---|
| SourceType | string | 是 | 源站类型: `domain`(域名)/`ip`(ip地址)/`advanced`(高级) |
| SourceHost | string | 否 | 回源Host, 普通域名默认`SourceHost`为域名本身,泛域名默认`SourceHost`为用户请求时的域名 |
| SourceIP | string | 否 | 回源ip, sourceType为ip时sourceIPs`必填` |
| SourceDomain | string | 否 | 回源域名, sourceType为domain时此字段`必填` |
| SourceURLScheme | string | 否 | 回源协议, 可选值: `http`/`https`, 回源七牛bucket时本值无效,默认不填是follow请求协议 |
| ASAddr | string | 否 | 高级回源的回源地址, 可以是IP或者域名;如需指定端口,可直接拼接在地址后面(示例: 1.1.1.1:8080), sourceType为advanced时advancedSources字段`必填` |
| ASWeight | int | 否 | 高级回源的回源addr权重, 0 ~ 100, 按照权重比例回源,sourceType为advanced时advancedSources字段`必填` |
| ASBackup | bool | 否 | 高级回源的回源addr是否为备源地址,sourceType为advanced时advancedSources字段`必填` |
| TestURLPath | string | 是 | 用于测试的URL Path, 检测源站是否可访问, 大小建议`小于1KB`,采用静态资源,并请`不要删除`, 后面域名任何配置更改都会测试该资源, 用以保证域名的访问性 |
注意
- 高级回源模式中如配置了主备回源域名时,只有所有的主源都访问不了,才会访问备源
- 高级回源模式中如设置了源站权重,请求概率=权重/权重总和,eg:有两个主线路A和B,A权重1 和 B权重3,那么四次请求,1次是A,3次是B
修改Range回源
用户修改普通域名及泛域名Range回源接口
请求包
PUT /domain/<Name>/range
Content-Type: application/json
Authorization: QBox <AccessToken>
{
"enable": <Enable>
}
参数解释
| 参数 | 类型 | 必填 | 含义 |
|---|
| Enable | string | 是 | Range回源开关:on/off |
错误码
| 错误码 | 含义 |
|---|
| 404001 | 无此域名 |
| 400001 | 未知的域名 |
| 400064 | 无权处理该域名 |
| 400200 | 未知的bucket |
| 400008 | 无此bucket |
| 400013 | 重复操作 |
| 400030 | 正在处理中 |
| 400066 | 域名状态为失败 |
| 400998 | 域名已下线 |
| 500923 | 域名已冻结 |
| 500930 | 删除中的域名 |
| 400957 | 无效的Range配置 |
请求示例
PUT /domain/testqiniu.qbox.net/range HTTP/1.1
Authorization: QBox 0tf5awMVxwf8WrEvrjtbiZrdRZRJU-91JgCqTOC8:6oxDOtOXVEfcR8PPuAscmWjVRS8=
Content-Type: application/json
Host: api.qiniu.com
{
"enable": "on"
}
修改回源超时
调整 CDN 回源节点到源站的超时时间
请求包
PUT /domain/<Name>/sourcetimeout
Content-Type: application/json
Authorization: QBox <AccessToken>
{
"sourceConnTimeout": <SourceConnTimeout>,
"sourceReadTimeout": <SourceReadTimeout>
}
参数解释
| 参数名 | 类型 | 必填 | 说明 | 示例值 |
|---|
| SourceConnTimeout | int | 是 | 回源建连超时(秒)必须填写为0 ,0 表示使用默认值(默认 5 秒),暂不支持调整 | 0 |
| SourceReadTimeout | int | 是 | 回源读取超时(秒),0 表示使用默认值(默认 30 秒),自定义范围为 5~120 秒 | 60 |
请求示例
PUT /domain/testqiniu.qbox.net/range HTTP/1.1
Authorization: QBox 0tf5awMVxwf8WrEvrjtbiZrdRZRJU-91JgCqTOC8:6oxDOtOXVEfcR8PPuAscmWjVRS8=
Content-Type: application/json
Host: api.qiniu.com
{
"sourceConnTimeout": 10,
"sourceReadTimeout": 60
}
缓存策略
结构
PUT /domain/<Name>/cache
Content-Type: application/json
Authorization: QBox <AccessToken>
{
cacheControls: [
{
time: <CCTime>,
timeunit: <CCTimeUnit>,
type: <CCType>,
rule: <CCRule>
}
],
ignoreParam: <IgnoreParam>
}
| 参数 | 类型 | 必填 | 含义 |
|---|
| CCTime | int | 是 | 缓存时间,注意不论哪种时间单位,总时间都不能超过1年,type为follow,本字段配为 -1 |
| CCTimeUnit | int | 是 | 缓存时间单位:0(秒)/1(分钟)/2(小时)/3(天)/4(周)/5(月)/6(年),type为follow,本字段配为0 |
| CCType | string | 是 | 缓存类型:`all`(默认全局规则)/`path`(路径匹配)/`suffix`(后缀匹配)/`follow`(遵循源站) |
| CCRule | string | 是 | 缓存路径规则:以分号;分割的字符串,每个里面类型一致,比如CCType为path的话,这里每个分号分割的都是以`/`开头,suffix的话,以点号`.`开头,如果是`all`类型,或者`follow`,统一只要填一个星号`*` |
| IgnoreParam | bool | 是 | 是否开启去问号缓存,默认为false |
注意
- 缓存配置优先级依从配置数组的前后顺序依次从高到低
全局配置要放到最后,不然自定义规则缓存配置优先级最低- 如果是遵循源站配置
follow,只能有一条,即全部遵循源站
例子
// .abc, .jpg后缀文件缓存1分钟,/def, /auth 目录下文件不缓存,全局缓存一个月
// url参数不缓存
{
cacheControls: [
{
time: 1,
timeunit: 1,
type: "suffix",
rule: ".abc;.jpg"
},
{
time: 0,
timeunit: 0,
type: "path",
rule: "/def;/auth"
},
{
time: 1,
timeunit: 5,
type: "all",
rule: "*"
},
],
ignoreParam: true
}
// 遵循源站
{
cacheControls: [
{
time: 0,
timeunit: 0,
type: "follow",
rule: "*"
}
],
ignoreParam: false
}
referer 防盗链
结构
请求结构
PUT /domain/<Name>/referer
Content-Type: application/json
Authorization: QBox <AccessToken>
{
refererType: <RefererType>,
refererValues: [<RefererValue>,...],
nullReferer: <NullReferer>
}
| 参数 | 类型 | 必填 | 含义 |
|---|
| RefererType | string | 是 | Referer防盗链类型: `black`/`white` |
| RefererValue | string | 是 | Referer防盗链黑白名单 |
| NullReferer | bool | 否 | Referer防盗链, 是否支持空referer,不填为false |
响应结构
{
refererType: <RefererType>,
refererValues: [<RefererValue>, ...],
nullReferer: <NullReferer>
}
| 参数 | 类型 | 含义 |
|---|
| RefererType | string | Referer防盗链类型: `black`/`white` |
| RefererValue | string | Referer防盗链黑白名单 |
| NullReferer | bool | Referer防盗链, 是否支持空referer |
注意
- 请求结构和响应结构不同, 请求结构是指
创建域名和修改referer防盗链的请求采用的结构,响应结构是指, 获取域名信息和获取域名列表中返回结果中采用的结构
IP黑白名单
结构
请求结构
PUT /domain/<Name>/ipacl
Content-Type: application/json
Authorization: QBox <AccessToken>
{
ipACLType: <IpACLType>,
ipACLValues: [<IpACLValue>,...],
}
| 参数 | 类型 | 必填 | 含义 |
|---|
| IpACLType | string | 是 | ip黑白名单控制控制类型, `black`/`white`/`""`;其中空字符串`""`代表关闭本功能,此时请注意`ipACLValues`需要为空 |
| IpACLValue | string | 是 | ip黑白名单,ip格式为:127.0.0.1/24 |
响应结构
{
ipACLType: <IpACLType>,
ipACLValues: [<IpACLValue>, ...]
}
| 参数 | 类型 | 含义 |
|---|
| ipACLType | string | ip黑白名单控制类型, `black`/`white` |
| IpACLValues | string | ip黑白名单, ip格式为:127.0.0.1/24 |
注意
- 请求结构和响应结构不同, 请求结构是指
创建域名和修改ip黑白名单的请求采用的结构,响应结构是指, 获取域名信息和获取域名列表中返回结果中采用的结构
UA黑白名单
结构
请求结构
PUT /domain/<Name>/uaacl
Content-Type: application/json
Authorization: QBox <AccessToken>
{
enable: <Enable>,
ruleType: <RuleType>,
userAgent: [<UserAgent>, ...]
}
| 参数 | 类型 | 含义 |
|---|
| Enable | string | ua黑白名单开关, `on`/`off` |
| RuleType | string | ua黑白名单控制类型, `black`/`white` |
| UserAgent | string | ua黑白名单 |
响应结构
{
enable: <Enable>,
ruleType: <RuleType>,
userAgent: [<UserAgent>, ...]
}
| 参数 | 类型 | 含义 |
|---|
| Enable | string | ua黑白名单开关, `on`/`off` |
| RuleType | string | ua黑白名单控制类型, `black`/`white` |
| UserAgent | string | ua黑白名单 |
注意
- 请求结构和响应结构不同, 请求结构是指
创建域名和修改ua黑白名单的请求采用的结构,响应结构是指, 获取域名信息和获取域名列表中返回结果中采用的结构
修改响应头
修改CDN返回给用户的响应头
请求包
PUT /domain/<Name>/respheader
Content-Type: application/json
Authorization: QBox <AccessToken>
{
responseHeaderControls: [
{
op: <op>
key: <key>
value: <value>
}...
]
}
参数解释
| 参数 | 类型 | 必填 | 含义 |
|---|
| Name | string | 是 | 域名 |
| op | string | 是 | 对响应头的进行操作的类型,可选"set"、"del",目前不支持"add" |
| key | string | 是 | 匹配响应头的key,可选值:Content-Type,Cache-Control,Content-Disposition,Content-Language,Expires,Access-Control-Allow-Origin,Access-Control-Allow-Methods,Access-Control-Allow-Headers,Access-Control-Max-Age,Access-Control-Expose-Headers,Access-Control-Allow-Credentials。 |
| value | string | 是 | 响应头的value,在op为"set"时有效 |
错误码
| 错误码 | 含义 |
|---|
| 404001 | 无此域名 |
| 400001 | 未知的域名 |
| 400064 | 无权处理该域名 |
| 400008 | 无此bucket |
| 400013 | 重复操作 |
| 400030 | 正在处理中 |
| 400066 | 域名状态为失败 |
| 400998 | 域名已下线 |
| 400923 | 域名已冻结 |
| 400084 | 无效的响应头key |
| 400085 | 无效的响应头操作请求 |
| 400086 | 重复的响应头key |
| 500930 | 删除中的域名 |
| 500005 | 数据查询内部出错 |
开启HTTPS
HTTP升级为HTTPS
请求包
PUT /domain/<Name>/sslize
Content-Type: application/json
Authorization: QBox <AccessToken>
{
"certid":<CertID>,
"forceHttps": <ForceHttps>,
"http2Enable": <Http2Enable>,
"tlsversions": [<TlsVersion>,...]
}
参数解释
| 参数 | 类型 | 含义 |
|---|
| CertID | string | 证书id,从上传或者获取证书列表里拿到证书id |
| ForceHttps | bool | 是否强制https跳转 |
| Http2Enable | bool | http2功能是否启用,false为关闭,true为开启 |
| TlsVersion | string | 支持的tls版本,TLSv1.0/TLSv1.1/TLSv1.2/TLSv1.3 |
错误码
| 错误码 | 含义 |
|---|
| 400331 | 非法参数 |
| 404001 | 无此域名 |
| 400001 | 未知的域名 |
| 400064 | 无权处理该域名 |
| 400008 | 无此bucket |
| 400392 | 非法的域名cname |
| 400013 | 重复操作 |
| 400030 | 正在处理中 |
| 400066 | 域名状态为失败 |
| 400401 | 无此证书 |
| 400324 | https证书解码失败 |
| 400325 | https证书解析失败 |
| 400321 | https证书还未生效 |
| 400329 | https证书过期 |
| 400326 | https证书与域名不匹配 |
| 400327 | 解析https证书密钥失败 |
| 400328 | https证书与密钥不匹配 |
| 400323 | 验证https证书链失败 |
| 400550 | 非法的证书id |
| 500219 | 查询证书内部错误 |
| 500005 | 数据查询内部出错 |
修改THHPS配置
修改THHPS配置
请求包
PUT /domain/<Name>/httpsconf
Content-Type: application/json
Authorization: QBox <AccessToken>
{
"certId": <CertID>,
"forceHttps": <ForceHttps>,
"http2Enable": <Http2Enable>
"tlsversions": [<TlsVersion>,...]
}
参数解释
| 参数 | 类型 | 含义 |
|---|
| CertID | string | 证书id,从上传或者获取证书列表里拿到证书id |
| ForceHttps | bool | 是否强制https跳转 |
| Http2Enable | bool | http2功能是否启用,false为关闭,true为开启 |
| TlsVersion | string | 支持的tls版本,TLSv1.0/TLSv1.1/TLSv1.2/TLSv1.3 |
错误码
| 错误码 | 含义 |
|---|
| 400331 | 非法参数 |
| 404001 | 无此域名 |
| 400001 | 未知的域名 |
| 400064 | 无权处理该域名 |
| 400008 | 无此bucket |
| 400392 | 非法的域名cname |
| 400013 | 重复操作 |
| 400030 | 正在处理中 |
| 400066 | 域名状态为失败 |
| 400401 | 无此证书 |
| 400324 | https证书解码失败 |
| 400325 | https证书解析失败 |
| 400321 | https证书还未生效 |
| 400329 | https证书过期 |
| 400326 | https证书与域名不匹配 |
| 400327 | 解析https证书密钥失败 |
| 400328 | https证书与密钥不匹配 |
| 400323 | 验证https证书链失败 |
| 500219 | 查询证书内部错误 |
| 500005 | 数据查询内部出错 |
创建新的域名标签
在账户下添加新的域名标签
请求包
POST /domain/tag HTTP/1.1
Content-Type: application/json
Authorization: QBox <AccessToken>
{
tag: <Tag>,
tagKey: <TagKey>,
tagValue: <TagValue>,
product: <Product>
}
参数解释
| 参数 | 类型 | 必填 | 含义 |
|---|
| Tag | string | 否 | 域名标签(废弃) |
| TagKey | string | 是 | 域名标签Key |
| TagValue | string | 是 | 域名标签Value |
| Product | string | 是 | 产品类型: `cdn`(静态加速)/`dcdn`(全站加速) |
错误码
| 错误码 | 含义 |
|---|
| 400331 | 非法参数 |
| 400925 | 账号域名标签数量达到上限 |
| 400927 | 域名标签已存在 |
| 500004 | 更新数据内部出错 |
| 500005 | 数据查询内部出错 |
请求示例
POST /domain/tag HTTP/1.1
Authorization: QBox 0tf5awMVxwf8WrEvrjtbiZrdRZRJU-91JgCqTOC8:6oxDOtOXVEfcR8PPuAscmWjVRS8=
Content-Type: application/json
Host: api.qiniu.com
{
"tagKey": "图片",
"tagValue": "高清",
"product": "cdn"
}
设置域名标签
选取账户下定义好的标签,为域名配置标签列表
请求包
PUT /domain/<Domain>/tags HTTP/1.1
Content-Type: application/json
Authorization: QBox <AccessToken>
{
kvTagList: <TagList>
}
参数解释
| 参数 | 类型 | 必填 | 含义 |
|---|
| kvTagList | []Object | 是 | Key-Value格式标签列表 |
错误码
| 错误码 | 含义 |
|---|
| 400331 | 非法参数 |
| 404001 | 无此域名 |
| 400064 | 无权处理该域名 |
| 400926 | 单个域名标签数量达到上限 |
| 500004 | 更新数据内部出错 |
| 500005 | 数据查询内部出错 |
请求示例
PUT /domain/<Domain>/tags HTTP/1.1
Authorization: QBox 0tf5awMVxwf8WrEvrjtbiZrdRZRJU-91JgCqTOC8:6oxDOtOXVEfcR8PPuAscmWjVRS8=
Content-Type: application/json
Host: api.qiniu.com
{
"kvTagList": [{"key":"图片","value":"高清"}]
}
获取所有域名标签
获取账户下定义的域名标签
请求包
GET /domain/all/tags?product=<Product>
Content-Type: application/x-www-form-urlencoded
Authorization: QBox <AccessToken>
参数解释
| 参数 | 类型 | 必填 | 含义 |
|---|
| Product | string | 是 | 产品类型: `cdn`(静态加速)/`dcdn`(全站加速) |
错误码
| 错误码 | 含义 |
|---|
| 400331 | 非法参数 |
| 500005 | 数据查询内部出错 |