接口描述
UpdateCdnConfig 用于修改加速域名对应的配置信息。
请求域名:cdn.api.qcloud.com
注意:
- 一次仅支持修改一个域名的配置信息。
- 支持一次对指定域名的多项配置信息进行一次性修改。
- 调用频次限制为100次/分钟。
- 接口已支持子账号调用,权限配置请参见 权限配置示例。
支持配置:
- 修改源站配置。
- 修改备站信息。
- 修改回源 host。
- 开启/关闭过滤参数。
- 修改 refer 黑白名单配置。
- 修改 IP 黑白名单配置。
- 开启/关闭视频拖拽。
- 修改缓存过期时间配置。
- 开启/关闭高级缓存过期配置。
- 开启/关闭中间源配置。
- 修改智能压缩配置(此配置尚在内测阶段)。
- 配置带宽封顶。
- 设置 response header。
- 设置 request header。
- 设置 SEO 优化。
- 设置302跟随。
- 设置 range 回源。
- 设置 IP 访问限频。
- 状态码缓存时间配置。
- 时间戳防盗链配置。
- 单链接下行限速。
入参说明
以下请求参数列表仅列出了接口请求参数,正式调用时需要加上公共请求参数,详情请参见 公共请求参数。其中,此接口的 Action 字段为 UpdateCdnConfig。
参数名称 | 是否必选 | 类型 | 描述 |
---|---|---|---|
hostId | 否 | Int | 要修改配置的域名对应 ID,hostId 与 host 必须填充一个。 |
host | 否 | String | 要修改配置的域名,hostId 与 host 必须填充一个。 |
hostType | 否 | String | 修改源站时填充 |
origin | 否 | String | 源站设置www.test.com:8080 。 |
backupOrigin | 否 | String | 备份源站设置,支持配置一个域名,或多个源站 IP。端口可配置区间0 - 65535。www.test.com:8080 。 |
fwdHost | 否 | String | 回源 host,CDN 节点回源时所带的 HTTP 头部 host 参数。 |
fullUrl | 否 | String | 过滤参数配置 |
refer | 否 | String | 防盗链设置,详细说明见下文。 |
accessIp | 否 | String | IP 黑白名单配置,重复设置,数据覆盖,以最后一次变更为准,详细说明见下文。 |
videoSwitch | 否 | String | 视频拖拽配置 |
cache | 否 | String | 缓存过期时间配置,详细说明见下文。 |
cacheMode | 否 | String | 缓存模式设置 |
middleResource | 否 | String | 中间源配置 |
compression | 否 | String | 智能压缩配置,详细说明见下文。 |
capping | 否 | String | 带宽封顶设置,详细说明见下文。 |
rspHeader | 否 | String | Response Header 设置, 详细说明见下文。 |
reqHeader | 否 | String | Request Header 设置,详细说明见下文。 |
seo | 否 | String | seo优化设置 |
follow302 | 否 | String | 302跟随设置 |
rangeOrigin | 否 | String | range回源设置 |
ipFrequenceLimit | 否 | Int | IP 访问限频设置 |
statusCodeCache | 否 | String | 状态码缓存时间设置。格式为指定状态码(目前仅开放404)缓存时间。 参数示例: {"404":10} |
safetyChain | 否 | String | 时间戳鉴权设置,详细说明见下文。 |
speedLimit | 否 | Int | 单链接下行速度限制,配置为大于0的正整数,单位为 MB/s。 0:表示取消限速。 |
详细说明
refer
参数示例
[1,["qq.baidu.com", "*.baidu.com"],1]
第一个字段标识 refer 类型:
- 0: 不设置防盗链。
- 1:设置黑名单。
- 2:设置白名单。
第二个字段为具体的名单列表,第三个字段为是否包含空refer:
- 1:包含空refer。
- 0:不包含空refer。
accessIp
参数示例
{"type":1,"list":["1.2.3.4","2.3.4.5"]}
第一个参数 type 为黑白名单类型:
- 0:取消黑白名单配置
- 1:黑名单
- 2:白名单
第二个参数 list 表示对应的黑名单 IP 列表,支持 /8、/16、/24格式的网段设置。
最多可设置100条 IP 黑名单,或者50条 IP 白名单。
cache
参数示例
[[0,"all",1000],[1,".jpg;.js",2000],[2,"/www/html",3000],[3,"/www/1.html",1000],[5,"/",1000]]
第一个参数是缓存类型,有如下几种:
- 0:全部类型,表示匹配所有文件,默认缓存配置。
- 1:文件类型,表示按文件后缀匹配。
- 2:文件夹类型,表示按目录匹配。
- 3:全路径匹配。
- 5:设置首页。
第二个参数指定匹配规则:
- 0:固定填充 “all”。
- 1:后缀,.jps;.js 等,
;
分隔。 - 2:目录,如 /www/html; /www/anc 等,
;
分隔。 - 3:全路径,如 /www/1.html; /www/2.html 等,
;
分隔。 - 5:首页,即 /。
第三个参数指定缓存时间,单位为秒。
cache 按照规则顺序,从前到后,优先级依次从低到高。
compression
(此配置尚在内测阶段)
参数示例
{"rule":
[{"compress":"on","compress_type":["brotli"],"file_type":".js;.css"},
{"compress":"off","compress_type":["gzip"],"file_type":".xml;.doc"}]}
第一个参数 compress 是压缩状态设置,on 表示压缩,off 表示不压缩。
第二个参数 compress_type 指定压缩格式,支持如下两种:
- gzip
- brotli
第三个参数 file_type 指定压缩设置匹配的文件格式(后缀),如 .css;.js 等,;
分隔,最长不能超过100个字符。
capping
参数示例
{"bandwidth":1000000, "unit":"K", "overflow":"origin", "active":"yes"}
说明如下:
- bandwidth:带宽封顶值,单位为 bps。
- uint:控制台展示用的单位,将上述设定值(bps)转为其他单位展示,K 表示 Kbps,M 表示 Mbps,G 表示 Gbps,T 表示 Tbps。
- overflow:设置超出阈值后响应,origin 表示全量回源站,404表示所有请求均返回404。
- active:yes 表示开启封顶设置, no 表示关闭封顶设置。
rspHeader
参数示例
{"Content-Language":"zh_CN","Access-Control-Allow-Origin":"https://www.test.com"}
目前 Response Header 仅支持以下头部设置:
- Content-Disposition
- Content-Language
- Access-Control-Allow-Origin
- Access-Control-Allow-Methods
- Access-Control-Max-Age
- Access-Control-Expose-Headers
按照 HTTP 协议规范,Access-Control-Allow-Origin 仅能设置为 * ,或者一个域名(需要带http:// 或https:// 头部),value 值不能超过1000个字节。
reqHeader
参数示例
{"cdn":"tencent"}
value 值不能超过1000个字节。
safetyChain
参数示例
{"switch":"on","key":"abcdef","type":1,"time_format":10,"ttl_time":9999}
- switch:是否开启鉴权配置,on代表开启,off代表关闭。
- key:鉴权密钥,用户自定义设置或随机生成的6 - 32位字符,由大小写字母或数字组成。
- time_format:时间戳格式,10代表十进制,16代表十六进制。
- ttl_time:过期时间,签名有效时间,单位为秒。
- type:时间戳类型,目前暂时提供一种时间戳防盗链类型,需要填充1。
说明:API 接口仅支持鉴权模式 TypeD 配置,其他鉴权模式 TypeA/B/C 需到 CDN 控制台 进行配置。
更多鉴权配置请参见 鉴权配置。
出参说明
参数名称 | 类型 | 描述 |
---|---|---|
code | Int | 公共错误码,0表示成功,其他值表示失败。 详情请参见错误码页面 公共错误码。 |
message | String | 模块错误信息描述,与接口相关。 |
codeDesc | String | 英文错误信息,或业务侧错误码。 详情请参见错误码页面 业务错误码。 |
调用案例
示例参数
host:www.test.com
reqHeader:{"cdn":"tencent"}
GET 请求
GET 请求需要将所有参数都加在 URL 后:
https://cdn.api.qcloud.com/v2/index.php?
Action=UpdateCdnConfig
&SecretId=XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
&Timestamp=1462872270
&Nonce=541116052
&Signature=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
&host=www.test.com
&reqHeader=%7B%22cdn%22%3A%22tencent%22%7D
POST 请求
POST 请求时,参数填充在 HTTP Request-body 中,请求地址:
https://cdn.api.qcloud.com/v2/index.php
参数支持 form-data、x-www-form-urlencoded 等格式,参数数组如下:
array (
'Action' => 'UpdateCdnConfig',
'SecretId' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX',
'Timestamp' => 1462872294,
'Nonce' => 479724541,
'Signature' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
'host' => 'www.test.com',
'reqHeader' => '{"cdn":"tencent"}'
)
结果示例
{
"code": 0,
"message": "",
"codeDesc": "Success"
}
{
"code": 4000,
"message": "(9175)部署中状态 cdn host in progress[host in progress]",
"codeDesc": "UserRequestError"
}