修改域名配置

最近更新时间:2018-07-19 17:46:51

接口描述

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 修改源站时填充
"cname":自有源站接入
"cos":cos 源站接入
选择cos源接入时,fwdHost需要与origin一致
origin String 源站设置
"cname"模式:支持配置一个域名,或多个源站IP
端口可配置区间 0 ~ 65535
域名模式:www.test.com:8080
IP模式:1.1.1.1:8080;2.2.2.2:8080
"cos"模式:填充 cos 外网域名,cosV4 时,仅支持自有账号下bucket 设置为源站
backupOrigin String 备份源站设置,支持配置一个域名,或多个源站IP
端口可配置区间 0 ~ 65535
域名模式:www.test.com:8080
IP模式:1.1.1.1:8080;2.2.2.2:8080
fwdHost String 回源 Host,CDN 节点回源时所带的 HTTP 头部 host 参数。
fullUrl String 过滤参数配置
"on":表示关闭过滤参数
"off":表示开启过滤参数
refer String 防盗链设置,详细说明见下文
accessIp String IP 黑白名单配置,详细说明见下文
videoSwitch String 视频拖拽配置
"on":表示开启视频拖拽
"off":表示关闭视频拖拽
cache String 缓存过期时间配置,详细说明见下文
cacheMode String 缓存模式设置
"simple":表示缓存完全依赖控制台设置
"custom":表示缓存依赖控制台设置的缓存时间和源站吐出的max-age的最小值
middleResource String 中间源配置
"on":开启中间源
"off":关闭中间源
compression String 智能压缩配置,详细说明见下文
capping String 带宽封顶设置,详细说明见下文
rspHeader String Response Header 设置, 详细说明见下文
reqHeader String Request Header 设置,详细说明见下文
seo String seo优化设置
"on":开启SEO优化
"off":关闭SEO优化
默认SEO优化为关闭状态
follow302 String 302跟随设置
"on":开启302跟随
"off":关闭302跟随
默认302跟随为关闭状态
rangeOrigin String range回源设置
"on":开启range回源
"off":关闭range回源
默认range回源为开启状态
ipFrequenceLimit Int IP 访问限频设置
0:未开启
大于 0 整数:单IP单节点QPS限制
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]]

第一个参数是缓存类型,有如下四种:

  • 0:全部类型,表示匹配所有文件,默认缓存配置;
  • 1:文件类型,表示按文件后缀匹配;
  • 2:文件夹类型,表示按目录匹配;
  • 3:全路径匹配。

第二个参数指定匹配规则:

  • 0:固定填充”all“;
  • 1:后缀,.jps;.js 等,; 分隔;
  • 2:目录,如 /www/html; /www/anc 等,; 分隔;
  • 3:全路径,如 /www/1.html; /www/2.html 等,; 分隔。

第三个参数指定缓存时间,单位为秒。

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

更多鉴权配置请查看鉴权配置

出参说明

参数名称 类型 描述
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"
}