调用BatchSetDcdnDomainConfigs实现域名批量配置功能。

说明
  • 单次配置的域名数量不超过50个。
  • 单用户调用频率:30次/秒。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String BatchSetDcdnDomainConfigs

系统规定参数。取值:BatchSetDcdnDomainConfigs

DomainNames String example.com,example.org

您的加速域名,多个域名使用半角逗号(,)分隔。

Functions String [{"functionArgs":[{"argName":"domain_name","argValue":"example.com"}],"functionName":"set_req_host_header"}]

功能列表。格式如下:

[{"functionArgs":[{"argName":"配置名称","argValue":"配置值"}],"functionName":"功能名称"}]

configid配置与查询。

功能

接口调用说明

添加某个配置项

调用BatchSetDcdnDomainConfigs,配置完成后生成configid

查询某个配置项

调用DescribeDcdnDomainConfigs,查询结果返回对应配置的configid

变更某个配置项

调用BatchSetDcdnDomainConfigs,并指定configid

删除某个配置项

调用DeleteDcdnSpecificConfig,并指定configid

configid使用说明:
  • configid如何生成:调用BatchSetDcdnDomainConfigs给某个域名创建某个功能配置时生成的,该API调用成功后返回该配置项的configid。
    • 接口配置:
      action: BatchSetDcdnDomainConfigs
      params: {"Functions":[{"functionArgs":[{"argName":"value","argValue":"test"},{"argName":"key","argValue":"User-Agent"}],"functionName":"set_req_header"}],"domainNames":"example.com"}
      product: dcdn
    • 配置成功返回结果:
      {
          "code": "200", 
          "data": {
      "DomainConfigList": {
                  "DomainConfigModel": [
                      {
                          "FunctionName": "set_req_header", 
                          "DomainName": "example.aliyundoc.com", 
                          "ConfigId": 19571990834****
                      }
                  ]
              }, 
              "RequestId": "4FF61A1D-E697-5E6C-9E5D-7D1E1529****"
          }, 
          "httpStatusCode": "200", 
          "requestId": "4FF61A1D-E697-5E6C-9E5D-7D1E1529****", 
          "successResponse": true
      }
    • 配置多条规则

      有的功能支持配置多条规则,如果要一次配置多条规则,可以参考如下示例。

      示例:为域名example.aliyundoc.com的功能set_resp_header同时配置以下两条规则:

      • 第一个规则:key=123,value=123
      • 第二个规则:key=test,value=test
        
                    action: BatchSetDcdnDomainConfigs
                    params: {
                        "domainNames": "example.aliyundoc.com", 
                        "functions": [
                            {
                                "functionArgs": [
                                    {
                                        "ArgValue": "123", 
                                        "ArgName": "key"
                                    }, 
                                    {
                                        "ArgValue": "123", 
                                        "ArgName": "value"
                                    }
                                ], 
                                "functionName": "set_resp_header"
                            }, 
                            {
                                "functionArgs": [
                                    {
                                        "ArgValue": "test", 
                                        "ArgName": "key"
                                    }, 
                                    {
                                        "ArgValue": "test", 
                                        "ArgName": "value"
                                    }
                                ], 
                                "functionName": "set_resp_header"
                            }
                        ]
                    }
                    product: dcdn
                    
                    
      • 设置多条记录
        部分功能可以设置多条记录,例如filetype_based_ttl_set,当需要更新其中某条记录时,可通过该条记录的configId来指定。
        
                [
                {
                    "functionArgs": [
                            {
                                "argName": "file_type", 
                                "argValue": "jpg"
                            }, 
                            {
                                "argName": "ttl", 
                                "argValue": "18"
                            }
                        ], 
                        "functionName": "filetype_based_ttl_set", 
                        "configId": 5068995
                    }
                ]
                
  • configid如何查询:调用DescribeDcdnDomainConfigs来查询,返回数据中会说明该配置。
    • 接口调用:
      action: DescribeDcdnDomainConfigs
          params: {"domainName":"example.aliyundoc.com","functionNames":"set_req_header"}
          product: dcdn
    • 返回结果:
      {
              "code": "200", 
              "data": {
                  "RequestId": "51B7DF03-A7AE-56ED-BF1E-D16F6A6B****", 
                  "DomainConfigs": {
                      "DomainConfig": [
                          {
                              "Status": "configuring", 
                              "FunctionName": "set_req_header", 
                              "FunctionArgs": {
                                  "FunctionArg": [
                                      {
                                          "ArgValue": "test", 
                                          "ArgName": "value"
                                      }, 
                                      {
                                          "ArgValue": "User-Agent", 
                                          "ArgName": "key"
                                      }
                                  ]
                              }, 
                              "ConfigId": 19572306654****
                          }
                      ]
                  }
              }, 
              "httpStatusCode": "200", 
              "requestId": "51B7DF03-A7AE-56ED-BF1E-D16F6A6B****", 
              "successResponse": true
          }
  • configid如何使用
    • 更新某个已经存在的配置:调用BatchSetDcdnDomainConfigs更新已有的配置,更新配置的时候指定该配置项对应的configid即可。
      action: BatchSetDcdnDomainConfigs
      params: {
          "Functions": [
              {
                  "functionArgs": [
                      {
                          "argName": "value", 
                          "argValue": "123456"
                      }, 
                      {
                          "argName": "key", 
                          "argValue": "User-Agent"
                      }
                  ], 
                  "functionName": "set_req_header", 
                  "configId": 19571990834****
              }
          ], 
          "domainNames": "example.com"
      }
      product: dcdn
    • 删除某个已经存在的配置:调用DeleteDcdnSpecificConfig删除某个配置,删除配置的时候指定该配置项对应的configid即可。
      
      action: DeleteSpecificConfig
      params: {
          "configId": 19571990834****, 
          "functionName": "set_req_header", 
          "domainName": "example.aliyundoc.com"
      }
      product: dcdn
      

功能列表如下表所示。

名称

参数

referer_white_list_set:Referer防盗链白名单

refer_domain_allow_list:白名单列表,多个用英文逗号(,)分隔。

allow_empty:是否允许空Referer字段访问DCDN资源,取值:on或off。

referer_black_list_set:Referer防盗链黑名单

refer_domain_deny_list:黑名单列表,多个用英文逗号(,)分隔。

allow_empty:是否允许空Referer字段访问DCDN资源,取值:on或off。

filetype_based_ttl_set:文件类型缓存过期时间设置

ttl:缓存时间,单位为秒。

file_type:文件类型。多个文件类型用英文逗号(,)分隔,例如TXT,JPG。

weight:权重。

path_based_ttl_set:目录类型缓存过期时间设置

ttl:缓存时间,单位为秒。

path:目录,必须以正斜线(/)开头。

weight:权重。

oss_auth:OSS鉴权Bucket

oss_bucket_id:您的Bucket地址。

ip_black_list_set:IP黑名单

ip_list:IP列表,多个用英文逗号(,)分隔。

ip_allow_list_set:IP白名单

ip_list:IP列表,多个用英文逗号(,)分隔。

error_page:错误页面重定向

error_code:错误码。

rewrite_page:重定向页面。

set_req_host_header:修改回源自定义头

domain_name:回源HOST头内容。

set_hashkey_args:忽略URL参数

hashkey_args:保留参数列表,多个用英文逗号(,)分隔,最多支持填写10个。

disable:等于on表示忽略所有参数,off表示不忽略(缓存hashkey忽略所有参数,优先级低于保留缓存参数列表)。

keep_oss_args:等于on表示回源保留所有参数,off表示与缓存hashkey的参数一致。

aliauth:阿里鉴权

auth_type:鉴权类型。取值范围:no_auth(无鉴权)、type_a(鉴权方式A)、type_b(鉴权方式B)和type_c(鉴权方式C)。

auth_key1:鉴权key1(16~32个字符支持大写字母、小写字母和数字)。

auth_key2:鉴权key2(16~32个字符支持大写字母、小写字母和数字)

ali_auth_delta:自定义鉴权缓冲时间。

set_resp_header:设置HTTP响应头(浏览器端可见)

key(必填):响应头。

value(必填):响应头内容,删除填写null。

header_operation_type:请求头操作,支持add、delete、modify、rewrite,添加add、删除delete、变更modify、替换rewrite。

duplicate:是否允许重复,支持on或off。

header_source:查找。

header_destination:替换为。

match_all:匹配所有,支持on或off。

access_origin_control:跨域访问,取值:on或off。

https_force:强制HTTPS跳转

enable:功能开关,取值:on或off。

http_force:强制HTTP跳转

enable:功能开关,取值:on或off。

https_option:HTTPS基础参数

http2:HTTP2开关,取值:on或off。

ocsp_stapling:OCSP Stapling开关,取值:on或off。

forward_scheme:静态协议跟随回源

enable:开关,取值:on或off。

scheme_origin:回源协议类型,支持http、https和follow(跟随)。

dynamic:全站加速相关配置

enable(必填):开关,支持on或off。

static_route_type:静态加速文件后缀。

static_route_url:静态加速URI。

static_route_path:静态加速PATH。

dynamic_route_origin:回源路由scheme,支持http、https、follow和follow-port。

dynamic_route_round_robin:开启负载均衡开关,支持on或off。

dynamic_route_adapt_cache:开启自适应缓存开关,支持on或off。

set_req_header:自定义回源HTTP头

key:回源头。

value:回源头内容。

l2_oss_key:阿里云OSS私有Bucket回源

private_oss_auth:私有Bucket回源开关,支持on或off。

range:range回源

enable:开关,支持on、off。

video_seek:视频拖拽播放

enable(必填):开关,支持on或off。

flv_seek_by_time:开启FLV按时间拖拽,支持on或off。

mp4_seek_start:自定义MP4开始参数。

mp4_seek_end:自定义MP4结束参数。

flv_seek_start:自定义FLV开始参数。

flv_seek_end:自定义FLV结束参数。

websocket:Websocket

enabled(必填):是否开启,取值:on或off。

origin_scheme:回源scheme,支持http、https和follow。

heartbeat:心跳时间,默认为60秒,支持1~300秒。

ali_remove_args:忽略URL参数(删除)

ali_remove_args(必填):删除指定的参数,多个参数之间用空格隔开,剩余参数将作为hashkey中URL args部分。

keep_oss_args:回源保留参数。支持on或off,on表示回源保留所有参数,off表示与缓存hashkey的参数一致。

https_tls_version:TLS协议版本

tls10:开启TLSv1.0,默认为on,支持on或off。

tls11:开启TLSv1.1,默认为on,支持on或off。

tls12:开启TLSv1.2,默认为on,支持on或off。

tls13:开启TLSv1.3,默认为off,支持on或off。

HSTS:HSTS

enabled(必填):开关,默认为off,支持on或off。

https_hsts_max_age(必填):过期时间,单位:ms,建议填写5184000000ms(60天)。

https_hsts_include_subdomains:HSTS头包含includeSubDomains参数,支持on或off。请谨慎开启,开启前请确保该加速域名的所有子域名都已开启HTTPS,否则会导致子域名自动跳转到HTTPS后无法访问。

filetype_force_ttl_code:文件状态码过期时间设置

file_type(必填):文件类型,多个用英文逗号(,)分隔,例如:TXT,JPG。

code_string(必填):状态码,多个用英文逗号(,)分隔。例如:302=0,301=0,4xx=2。

path_force_ttl_code:路径状态码过期时间设置

path(必填):必须以正斜线(/)开头,例如:/image。

code_string(必填):状态码,多个用英文逗号(,)分隔。例如:302=0,301=0,4xx=2。

gzip:智能压缩

enable(必填):功能开关,支持on或off。

tesla:页面优化

enable(必填):功能开关,支持on或off。

trim_js:支持on或off,开启该功能,优化html中内嵌的js代码。

trim_css:支持on或off,开启该功能,优化html中内嵌的css代码。

https_origin_sni:回源SNI

enabled:功能开关,支持on或off。

https_origin_sni(必填):回源SNI。

protogw:IP应用加速

realip(必填):源站IP透传方式,支持off、toa、pp。

port(必填):服务端口。

patten:模式字符串。

host_redirect:重写功能

regex:需要重写的URL,例如:^/$。

replacement:目标URL,例如: /go/act/sale/tbzlsy.php。

flag:仅支持redirect、break。

forward_timeout:回源请求超时时间

forward_timeout:单位为秒,配置时建议不要大于100秒。

ipv6:IPv6配置

switch(必填):开关,支持on或off,on表示开启,off表示关闭。

region:开启IPv6功能的地区,支持星号(*)。

edge_function:边缘函数

rule(必填):DSL规则。

pri(必填):优先级。

enable(必填):本条规则是否生效,取值:on或off。

name:规则名称。

pos:规则执行位置。全站加速域名仅支持head,不支持foot。

brk:命中本条规则后,当前执行位置剩余规则均跳过。

option:option管控。

grammar:grammar管控,可选值:空、es2、js。

jsmode:js域名白单管控,可选值:redirect、bypass。

brotli:Brotli压缩

enable(必填):功能开关,支持on或off。

brotli_level:压缩等级,取值范围[1,11]。

ali_ua:User-Agent限制访问

ua:填写User-Agent,支持通配符号*(匹配任意字符串)和多个值(多个值用|分割,例如:*curl*|*IE*|*chrome*|*firefox*。)。

type:名单类型,black或white;黑、白名单互斥,同一时间只支持其中一种方式生效。

返回数据

名称 类型 示例值 描述
RequestId String 04F0F334-1335-436C-A1D7-6C044FE73368

请求ID。

示例

请求示例

http(s)://dcdn.aliyuncs.com/?Action=BatchSetDcdnDomainConfigs
&DomainName=example.com,example.org
&Functions=[{"functionArgs":[{"argName":"domain_name","argValue":"example.com"}],"functionName":"set_req_host_header"}]
&<公共请求参数>

正常返回示例

XML格式

<BatchSetDcdnDomainConfigsResponse>
  <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>
  <DomainConfigModel>
        <DomainName>example.com</DomainName>
        <ConfigId>1234567</ConfigId>
        <FunctionName>set_req_host_header</FunctionName>
  </DomainConfigModel>
</BatchSetDcdnDomainConfigsResponse>

JSON格式

{
    "RequestId": "04F0F334-1335-436C-A1D7-6C044FE73368",
    "DomainConfigModel": [
        {
            "DomainName": "example.com",
            "ConfigId": 1234567,
            "FunctionName": "set_req_host_header"
        }
    ]
}

错误码

HttpCode 错误码 错误信息 描述
400 InvalidFunctions.Malformed The specified Functions is invalid. 不支持该配置,请重新填写。
400 InvalidArgValue.Malformed The specified ArgValue is invalid. ArgValue错误,请重新填写。
400 Invalid%s.ValueNotSupported [%s] is not supported. 不支持该设置。
400 Invalid%s.Malformed The specified ArgValue [%s] is invalid. 不支持该ArgValue,请填写正确的ArgValue。
400 MissingParameter You must specify ArgValue. 缺少参数。

访问错误中心查看更多错误码。