接口描述
UpdateCdnConfig 用于修改加速域名对应的配置信息。
请求域名:cdn.api.qcloud.com
一次仅支持修改一个域名的配置信息。
支持一次对指定域名的多项配置信息进行一次性修改。
调用频次限制为100次/分钟。
接口已支持子账号调用,权限配置请参见 权限配置示例。
支持配置:
修改源站配置。
修改备站信息。
修改回源 host。
开启/关闭过滤参数。
修改 refer 黑白名单配置。
修改 IP 黑白名单配置。
开启/关闭视频拖拽。
修改缓存过期时间配置。
开启/关闭高级缓存过期配置。
开启/关闭中间源配置。
修改智能压缩配置(此配置尚在内测阶段)。
配置带宽封顶。
设置 response header。
设置 request header。
设置 SEO 优化。
设置302跟随。
设置 range 回源。
设置 IP 访问限频。
状态码缓存时间配置。
时间戳防盗链配置。
单链接下行限速。
入参说明
参数名称 | 是否必选 | 类型 | 描述 |
hostId | 否 | Int | 要修改配置的域名对应 ID,hostId 与 host 必须填充一个。 |
host | 否 | String | 要修改配置的域名,hostId 与 host 必须填充一个。 |
hostType | 否 | String | 修改源站时填充<li>"cname":自有源站接入。</li><li>"cos":cos 源站接入。选择 cos 源接入时,fwdHost 需要与 origin 一致。</li> |
origin | 否 | String | 源站设置<li>"cname"模式:支持配置一个域名,或多个源站 IP。端口可配置区间0 - 65535。</li><li>域名模式: www.test.com:8080 。</li><li>IP 模式:1.1.1.1:8080;2.2.2.2:8080。</li><li>"cos"模式:填充 cos 外网域名,cosV4 时,仅支持自有账号下 bucket 设置为源站。</li> |
backupOrigin | 否 | String | 备份源站设置,支持配置一个域名,或多个源站 IP。端口可配置区间0 - 65535。<li>域名模式: www.test.com:8080 。</li><li>IP 模式:1.1.1.1:8080;2.2.2.2:8080。</li> |
fwdHost | 否 | String | 回源 host,CDN 节点回源时所带的 HTTP 头部 host 参数。 |
fullUrl | 否 | String | 过滤参数配置<li>"on":表示关闭过滤参数。</li><li>"off":表示开启过滤参数。 |
refer | 否 | String | 防盗链设置,详细说明见下文。 |
accessIp | 否 | String | IP 黑白名单配置,重复设置,数据覆盖,以最后一次变更为准,详细说明见下文。 |
videoSwitch | 否 | String | 视频拖拽配置<li>"on":表示开启视频拖拽。</li><li>"off":表示关闭视频拖拽。</li> |
cache | 否 | String | 缓存过期时间配置,详细说明见下文。 |
cacheMode | 否 | String | 缓存模式设置<li>"simple":表示缓存完全依赖控制台设置。</li><li>"custom":表示缓存依赖控制台设置的缓存时间和源站吐出的 max-age 的最小值。</li> |
middleResource | 否 | String | 中间源配置<li>"on":开启中间源。</li><li> "off":关闭中间源。</li> |
compression | 否 | String | 智能压缩配置,详细说明见下文。 |
capping | 否 | String | 带宽封顶设置,详细说明见下文。 |
rspHeader | 否 | String | Response Header 设置, 详细说明见下文。 |
reqHeader | 否 | String | Request Header 设置,详细说明见下文。 |
seo | 否 | String | seo优化设置<li>"on":开启SEO优化。</li><li>"off":关闭SEO优化。</li>默认 SEO 优化为关闭状态。 |
follow302 | 否 | String | 302跟随设置<li>"on":开启302跟随。</li><li>"off":关闭302跟随。</li>默认302跟随为关闭状态。 |
rangeOrigin | 否 | String | range回源设置<li>"on":开启range回源。</li><li>"off":关闭range回源。</li>默认 range 回源为开启状态。 |
ipFrequenceLimit | 否 | Int | IP 访问限频设置<li>0:未开启。</li><li>大于0的整数:单 IP 单节点 QPS 限制。</li> |
statusCodeCache | 否 | String | 状态码缓存时间设置。格式为指定状态码(目前仅开放404)缓存时间。<br/>参数示例: {"404":10} |
safetyChain | 否 | String | 时间戳鉴权设置,详细说明见下文。 |
speedLimit | 否 | Int | 单链接下行速度限制,配置为大于0的正整数,单位为 MB/s。<br/>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。
Note:
出参说明
调用案例
示例参数
host:www.test.comreqHeader:{"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"}