全部产品
Search
文档中心

边缘安全加速:域名配置功能函数

更新时间:Oct 25, 2024

调用BatchSetDcdnDomainConfigs可以实现域名的批量配置,本文为您介绍该API可以配置哪些功能及功能参数用法。

说明

基本信息

dynamic

  • 功能说明:DCDN相关配置,该功能详细介绍请参见控制台配置说明动静态加速规则

  • 功能ID(FunctionID/FuncId):46。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    enable

    String

    是否开启动静态加速:

    • on:开启。

    • off:关闭。

    on

    static_route_type

    String

    静态加速文件后缀。

    .txt

    static_route_url

    String

    静态加速URI。

    /domain/detail/log.txt

    static_route_path

    String

    静态加速文件路径。

    说明

    支持使用通配符星号(*)和问号(?)模糊搜索静态文件路径。星号(*)代替零个、单个或多个字符,问号(?)代替1个字符。

    /abc/test/*

    dynamic_route_origin

    String

    配置动态内容回源协议:

    • http:DCDN以HTTP协议请求源站。

    • https:DCDN以HTTPS协议请求源站。

    • follow(跟随客户端协议):当客户端以HTTP或HTTPS协议请求资源时,DCDN跟随客户端的协议请求源站。

    • follow-port(跟随源站端口):当客户端以HTTP或HTTPS协议请求资源时,DCDN跟随源站端口所属的协议请求源站。

    说明

    dynamic_route_origin不配置时,默认取值为follow。

    https

    dynamic_route_round_robin

    String

    是否开启负载均衡开关:

    • on:开启。

    • off(默认):关闭。

    off

    partition_back_to_origin

    String

    是否开启中国内地和全球(不包含中国内地)分区回源开关:

    • on:开启。

    • off(默认):关闭。

    off

    dynamic_route_adapt_cache

    String

    是否开启自适应缓存开关:

    • on:开启。

    • off(默认):关闭。

    off

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "enable",
                "argValue": "on"
            }, {
                "argName": "static_route_type",
                "argValue": ".txt"
            }, {
                "argName": "static_route_url",
                "argValue": "/domain/detail/log.txt"
            },{
                "argName": "static_route_path",
                "argValue": "/abc/test/*"
            }, {
                "argName": "dynamic_route_origin",
                "argValue": "https"
            }, {
                "argName": "dynamic_route_round_robin",
                "argValue": "off"
            }, {
                "argName": "dynamic_route_adapt_cache",
                "argValue": "off"
            }],
            "functionName": "dynamic"
        }],
        "DomainNames": "example.com"
    }

ipv6

  • 功能说明:IPv6访问配置,该功能详细介绍请参见控制台配置说明开启IPv6协议

  • 功能ID(FunctionID/FuncId):194。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    switch

    String

    是否开启IPv6访问:

    • on:开启。

    • off:关闭。

    on

    region

    String

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

    说明
    • 星号(*)表示所有区域都开启IPv6(目前仅支持针对所有区域都开启IPv6,如果需要仅针对某个特定区域开启IPv6,请提交工单申请)。

    • 不传该参数,表示默认所有区域都开启IPv6。

    *

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "switch",
                "argValue": "on"
            }, {
                "argName": "region",
                "argValue": "*"
            }],
            "functionName": "ipv6"
        }],
        "DomainNames": "example.com"
    }

回源配置

set_req_host_header

  • 功能说明:配置回源HOST,该功能详细介绍请参见控制台配置说明配置回源HOST

  • 功能ID(FunctionID/FuncId):18。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    domain_name

    String

    回源HOST头内容。

    example.com

  • 配置示例:

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

forward_scheme

  • 功能说明:配置回源协议,该功能详细介绍请参见控制台配置说明配置静态协议跟随回源

  • 功能ID(FunctionID/FuncId):47。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    enable

    String

    是否开启回源协议:

    • on:开启。

    • off:关闭。

    on

    scheme_origin

    String

    回源类型,取值:

    • http:DCDN以HTTP协议回源。

    • https:DCDN以HTTPS协议回源。

    • follow(跟随):客户端以HTTP或者HTTPS协议请求DCDN,DCDN跟随客户端的协议请求源站。

    说明

    scheme_origin不配置时,默认取值为follow。

    follow

    scheme_origin_port

    String

    回源自定义端口,需要与scheme_origin参数搭配使用,取值:

    • scheme_origin取值为http时,只需要配置一个HTTP协议的回源端口,例如:80。

    • scheme_origin取值为https时,只需要配置一个HTTPS协议的回源端口,例如:443。

    • scheme_origin取值为follow时,需要同时配置HTTP协议和HTTPS协议的回源端口,中间用半角冒号(:)分隔,例如:80:443。

    80:443

  • 配置示例一:DCDN跟随客户端的请求协议回源,回源访问的端口为协议默认端口,即HTTP协议对应80端口,HTTPS协议对应443端口。

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "enable",
                "argValue": "on"
            }, {
                "argName": "scheme_origin",
                "argValue": "follow"
            }],
            "functionName": "forward_scheme"
        }],
        "DomainNames": "example.com"
    }
  • 配置示例二:DCDN跟随客户端的请求协议回源,回源访问的端口为自定义端口,HTTP协议对应8080端口,HTTPS协议对应4433端口。

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "enable",
                "argValue": "on"
            }, {
                "argName": "scheme_origin",
                "argValue": "follow"
            }, {
                "argName": "scheme_origin_port",
                "argValue": "8080:4433"
            }],
            "functionName": "forward_scheme"
        }],
        "DomainNames": "example.com"
    }

l2_oss_key

  • 功能说明:配置私有Bucket回源。注意,首次使用该功能时,需要进行默认权限策略的一键开启操作,开启后将会授予DCDN产品对您同账号下OSS产品的所有Bucket的只读访问权限。该功能详细介绍请参见控制台配置说明OSS私有Bucket回源

  • 功能ID(FunctionID/FuncId):85。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    private_oss_auth

    String

    是否开启私有Bucket回源:

    • on:开启。

    • off:关闭。

    功能开启以后,系统会自动配置STS安全令牌,配置更简单,但是仅支持DCDN域名回源到同一个阿里云账号下的OSS私有Bucket。关于STS安全令牌更多信息,请参见什么是STS

    on

    perm_private_oss_tbl

    String

    永久安全令牌配置,配置格式是access_id=123 access_secret=123abc(中间用空格分隔)。

    配置了永久安全令牌以后,除了支持DCDN域名回源到同一个阿里云账号下的OSS私有Bucket,还支持DCDN域名回源到另外一个阿里云账号下的OSS私有Bucket。关于永久安全令牌更多信息,请参见创建AccessKey

    access_id=123 access_secret=123abc

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "private_oss_auth",
                "argValue": "on"
            },{
                "argName": "perm_private_oss_tbl",
                "argValue": "access_id=123 access_secret=123abc"
            }],
            "functionName": "l2_oss_key"
        }],
        "DomainNames": "example.com"
    }

oss_key_list

  • 功能说明:OSS回源私钥列表,可以配置一条或者多条规则,代表多个不同的OSS私有Bucket与对应的安全令牌。

  • 功能ID(FunctionID/FuncId):183。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    host

    String

    OSS Bucket 的完整地址。

    example.oss-cn-hangzhou.aliyuncs.com

    key

    String

    永久安全令牌配置,配置格式是access_id=123 access_secret=123abc(中间用空格分隔)。

    配置了永久安全令牌以后,除了支持DCDN域名回源到同一个阿里云账号下的OSS私有Bucket,还支持DCDN域名回源到其他阿里云账号下的OSS私有Bucket。关于永久安全令牌更多信息,请参见创建AccessKey

    access_id=123 access_secret=123abc

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "host",
                "argValue": "example.oss-cn-hangzhou.aliyuncs.com"
            },{
                "argName": "key",
                "argValue": "access_id=123 access_secret=123abc"
            }],
            "functionName": "oss_key_list"
        }],
        "DomainNames": "example.com"
    }

https_origin_sni

  • 功能说明:配置回源SNI,可以对指定源站设置指定的回源SNI,该功能详细介绍请参见控制台配置说明配置指定回源SNI。该功能详细介绍请参见控制台配置说明配置回源SNI

  • 功能ID(FunctionID/FuncId):114。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    enabled

    String

    是否开启回源SNI功能:

    • on:开启。

    • off:关闭。

    on

    https_origin_sni

    String

    回源请求携带的SNI信息(即回源请求需要访问的源站地址)。

    origin.example.com

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "https_origin_sni",
                "argValue": "origin.example.com"
            }, {
                "argName": "enabled",
                "argValue": "on"
            }],
            "functionName": "https_origin_sni"
        }],
        "DomainNames": "example.com"
    }

forward_timeout

  • 功能说明:配置回源请求超时时间,该功能详细介绍请参见控制台配置说明回源请求超时时间

  • 功能ID(FunctionID/FuncId):124。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    forward_timeout

    Integer

    请求超时时间,单位:秒。

    说明

    建议设置时间小于100秒。

    30

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "forward_timeout",
                "argValue": "30"
            }],
            "functionName": "forward_timeout"
        }],
        "DomainNames": "example.com"
    }

advanced_origin

  • 功能说明:配置高级回源,该功能详细介绍请参见控制台配置说明高级回源。该功能当前需要加白名单以后才能使用,有需要请提交工单申请。

  • 功能冲突说明:高级回源功能与条件源站功能(功能函数:origin_dns_host,功能ID:212)存在冲突,只能二选其一。如果已经配置了其中一个功能(注意:如果功能函数存在功能开关配置参数,在参数被置为off的情况下,也属于已存在配置),则必须删除已经添加的功能配置(您可以通过调用DeleteDcdnSpecificConfig接口来删除域名的指定配置),然后才能给另外一个功能添加配置。

  • 功能ID(FunctionID/FuncId):235。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    variable_type

    String

    变量类型,取值:

    • header:用户请求中携带的header(request header)。

    • arg:用户请求URL中携带的参数(query string parameter)。

    • uri:用户请求URL中携带的路径(path)。

    • cookie:用户请求中携带的cookie(request cookie)。

    uri

    variable

    String

    变量名称。

    说明

    variable_type=uri的情况下,variable只能固定=uri。

    uri

    conditions

    String

    条件,取值:

    • ==:表示“等于”。

    • !=:表示“不等于”。

    ==

    value

    String

    变量的取值。

    /image

    origin

    String

    回源查询DNS使用的域名(即用户请求中对应的变量值,匹配后需要回源到指定的源站地址)。

    origin.example.com

  • 配置示例:

    {
     "Functions": [{
      "functionArgs": [{
       "argName": "conditions",
       "argValue": "=="
      }, {
       "argName": "variable_type",
       "argValue": "uri"
      }, {
       "argName": "value",
       "argValue": "/image"
      }, {
       "argName": "origin",
       "argValue": "origin.example.com"
      }, {
       "argName": "variable",
       "argValue": "uri"
      }],
      "functionName": "advanced_origin"
     }],
     "DomainNames": "example.com",
    }

follow_302

  • 功能说明:配置回源302跟随,该功能详细介绍请参见控制台配置说明配置回源301/302跟随。该功能当前需要加白名单以后才能使用,有需要请提交工单申请。

  • 功能ID(FunctionID/FuncId):219。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    enable

    String

    是否开启回源302跟随:

    • on:开启。

    • off:关闭。

    on

    max_tries

    Integer

    302跟随次数上限。

    • 默认值:2。

    • 取值范围:[1,5]。

    说明

    回源次数-1(次)=302跟随次数,即默认的回源次数上限为3,可配置范围是[2,6]。

    2

    retain_args

    String

    302跟随时是否保留原请求参数回目标源:

    • on:保留。

    • off(默认):不保留。

    off

    retain_header

    String

    302跟随时是否保留原请求头回目标源:

    • on:保留。

    • off(默认):不保留。

    off

    response_header

    String

    302跟随响应头,表示源站给DCDN的302跟随响应头的名称,该响应头名称默认为Location。

    X-Alicdn-Redirect

    retain_host

    String

    302跟随保留回源域名,当开启时,表示DCDN在302跟随时保留回源域名,只在跟随到目标域名时生效。可以配置的值为:

    • on:开启

    • off(默认):关闭

    off

    modify_host

    String

    302跟随修改回源域名,表示DCDN在302跟随时修改回源域名,只在跟随到目标域名时生效。默认不修改回源域名。

    example.com

    cache

    String

    302跟随缓存跟随结果,当开启时,表示DCDN在302跟随时缓存同URL的跟随结果,提升DCDN的响应性能。可以配置的值为:

    • on:开启

    • off(默认):关闭

    off

    expired_time

    Integer

    302跟随缓存跟随结果的超时时间,表示DCDN在302跟随时缓存同URL的跟随结果的超时时间,需要配合缓存功能一起使用,单位秒,默认:3600秒。

    7200

    follow_origin_host

    String

    302跟随回源host使用源站域名,当开启时,表示DCDN会使用源站域名作为回源host(即使主备切换也会使用最新的源站域名)。可以配置的值为:

    • on:开启

    • off(默认):关闭

    off

    follow_5xx_retry_origin

    String

    源站主备切换,当开启时,表示DCDN如果收到源站响应的5xx状态码,会切换到下一个可用的源站。可以配置的值为:

    • on:开启

    • off(默认):关闭

    off

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "enable",
                "argValue": "on"
            }, {
                "argName": "max_tries",
                "argValue": 2
            }, {
                "argName": "retain_args",
                "argValue": "off"
            }, {
                "argName": "retain_header",
                "argValue": "off"
            }, {
                "argName": "response_header",
                "argValue": "X-Alicdn-Redirect"
            }, {
                "argName": "retain_host",
                "argValue": "off"
            }, {
                "argName": "modify_host",
                "argValue": "example.com"
            }, {
                "argName": "cache",
                "argValue": "off"
            }, {
                "argName": "expired_time",
                "argValue": "7200"
            }, {
                "argName": "follow_origin_host",
                "argValue": "off"
            }, {
                "argName": "follow_5xx_retry_origin",
                "argValue": "off"
            }],
            "functionName": "follow_302"
        }],
        "DomainNames": "example.com"
    }
    

set_req_header

  • 功能说明:配置自定义回源HTTP头,该功能详细介绍请参见控制台配置说明配置自定义回源HTTP请求头

    说明

    set_req_header是v1版本,建议您使用v2版本:origin_request_header,v2版本支持更丰富的自定义回源HTTP头功能。

  • 功能ID(FunctionID/FuncId):39。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    key

    String

    回源头名称。

    Accept-Encoding

    value

    String

    回源头的值。如果要删除某个回源头,设置回源头的值为null。

    gzip

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "value",
                "argValue": "gzip"
            }, {
                "argName": "key",
                "argValue": "Accept-Encoding"
            }],
            "functionName": "set_req_header"
        }],
        "DomainNames": "example.com"
    }

origin_request_header

  • 功能说明:配置回源HTTP请求头(新),该功能详细介绍请参见控制台配置说明配置回源HTTP请求头,该功能当前需要加白名单以后才能使用。有需要请提交工单申请。

  • 功能ID(FunctionID/FuncId):228。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    header_operation_type

    String

    请求头操作,取值:

    • add:添加。

    • delete:删除。

    • modify:变更。

    • rewrite:替换。

    add

    header_name

    String

    请求头名称。

    Accept-Encoding

    header_value

    String

    请求头值。一个请求头参数中可以配置多个值,多个值用英文逗号(,)分隔。

    gzip

    duplicate

    String

    是否允许重复添加名称相同的请求头。当header_operation_type使用add时(即执行增加操作),需要设置是否允许重复:

    • on:允许。

    • off:不允许。

    off

    header_source

    String

    查找需要替换的参数值。当header_operation_type使用rewrite时(即执行替换操作),需要设置该参数,取值支持正则表达式。

    value1

    header_destination

    String

    替换后的参数值。当header_operation_type使用rewrite时(即执行替换操作),需要设置该参数。

    value123

    match_all

    String

    设置匹配模式。当header_operation_type使用rewrite时(即执行替换操作),需要设置匹配模式:

    • on:匹配所有(所有匹配上的值都会被替换)。

    • off:仅匹配第一个(只有第一个匹配上的值会被替换)。

    off

  • 配置示例:为加速域名example.com添加自定义回源请求头,请求头名称=Accept-Encoding,请求头值=gzip。

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "header_operation_type",
                "argValue": "add"
            }, {
                "argName": "header_name",
                "argValue": "Accept-Encoding"
            }, {
                "argName": "header_value",
                "argValue": "gzip"
            }, {
                "argName": "duplicate",
                "argValue": "off"
            }],
            "functionName": "origin_request_header"
        }],
        "DomainNames": "example.com"
    }

origin_response_header

  • 功能说明:配置回源HTTP响应头,该功能详细介绍请参见控制台配置说明配置回源HTTP响应头。该功能当前需要加白名单以后才能使用,有需要请提交工单申请。

  • 功能ID(FunctionID/FuncId):229。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    header_operation_type

    String

    响应头操作,取值:

    • add:添加。

    • delete:删除。

    • modify:变更。

    • rewrite:替换。

    add

    header_name

    String

    响应头名称。

    Cache-Control

    header_value

    String

    响应头值。一个响应头参数中可以配置多个值,多个值用英文逗号(,)分隔。

    no-cache

    duplicate

    String

    是否允许重复添加名称相同的响应头。当header_operation_type使用add时(即执行增加操作),需要设置是否允许重复:

    • on:允许重复。

    • off:不允许重复。

    off

    header_source

    String

    查找需要替换的参数值。当header_operation_type使用rewrite时(即执行替换操作),需要设置该参数,取值支持正则表达式。

    value1

    header_destination

    String

    替换后的参数值。当header_operation_type使用rewrite时(即执行替换操作),需要设置该参数。

    value123

    match_all

    String

    匹配模式。当header_operation_type使用rewrite时(即执行替换操作),需要设置匹配模式:

    • on:匹配所有(所有匹配上的值都会被替换)。

    • off:仅匹配第一个(只有第一个匹配上的值会被替换)。

    off

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "header_operation_type",
                "argValue": "add"
            }, {
                "argName": "header_name",
                "argValue": "Cache-Control"
            }, {
                "argName": "header_value",
                "argValue": "no-cache"
            }, {
                "argName": "duplicate",
                "argValue": "off"
            }],
            "functionName": "origin_response_header"
        }],
        "DomainNames": "example.com"
    }

back_to_origin_url_rewrite

  • 功能说明:改写回源URI,该功能详细介绍请参见控制台配置说明改写回源URI。该功能当前需要加白名单以后才能使用,有需要请提交工单申请。

  • 功能ID(FunctionID/FuncId):225。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    source_url

    String

    被重写的URI。

    ^/hello$

    target_url

    String

    重写的目标URI。

    /hello/test

    flag

    String

    改写操作的执行规则,取值:

    • 空:执行完该条规则后,后续rewrite规则会继续执行。

    • break:执行完该条规则后,后续rewrite规则不再执行。

    • enhance_break:类似break,区别在于会带着参数一起进行处理,并且针对flv直播也会生效。

    break

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "flag",
                "argValue": "break"
            }, {
                "argName": "source_url",
                "argValue": "^/hello$"
            }, {
                "argName": "target_url",
                "argValue": "/hello/test"
            }],
            "functionName": "back_to_origin_url_rewrite"
        }],
        "DomainNames": "example.com",
    }

back_to_origin_argument_rewrite

  • 功能说明:改写回源参数,该功能详细介绍请参见控制台配置说明改写回源参数。该功能当前需要加白名单以后才能使用,有需要请提交工单申请。

    说明

    回源参数改写,改写的是回源请求URL的查询参数,支持配置多个不同的改写规则,改写动作的优先级为添加参数删除参数仅保留修改参数。当不同的改写规则作用于同一个参数时,只有高优先级的规则会生效。

  • 功能ID(FunctionID/FuncId):224。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    delete_argument

    String

    删除参数列表,多个参数用空格分隔。

    code1

    save_argument

    String

    保留参数列表,多个参数用空格隔开。仅保留列出的参数,添加参数和删除参数仍会生效。

    ignore_all_argument

    String

    是否忽略所有参数:

    • on:忽略所有参数,除了添加参数功能仍能生效以外,删除参数、仅保留、修改参数功能都将失效。

    • off(默认):关闭忽略所有参数功能,保留参数、添加参数、删除参数仍会生效。

    on

    add_argument

    String

    添加参数,优先级最高,多个参数用空格隔开。

    value=123

    modify_argument

    String

    修改参数,优先级最低,若参数被删除则不会保留,多个参数用空格隔开。

    value=321

    enable

    String

    是否开启改写回源参数:

    • on:开启。

    • off:关闭 。

    on

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "delete_argument",
                "argValue": ""
            }, {
                "argName": "save_argument",
                "argValue": ""
            }, {
                "argName": "add_argument",
                "argValue": ""
            }, {
                "argName": "modify_argument",
                "argValue": ""
            }, {
                "argName": "ignore_all_argument",
                "argValue": "on"
            }, {
                "argName": "enable",
                "argValue": "on"
            }],
            "functionName": "back_to_origin_argument_rewrite"
        }],
        "DomainNames": "example.com"
    }

aws_s3_bucket

  • 功能说明:配置Amazon S3鉴权Bucket,该功能当前需要加白名单以后才能使用,有需要请提交工单申请。

  • 功能ID(FunctionID/FuncId):186。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    enabled

    String

    是否开启Amazon S3鉴权Bucket:

    • l2:开启。

    • off:关闭。

    l2

    bucketname

    String

    Amazon S3 Bucket名称。

    /

    accesskey

    String

    AWS AccessKey。

    123456789

    secretkey

    String

    AWS SecretKey。

    12345678

    region

    String

    Amazon S3存储区域。

    us-east-2

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "enabled",
                "argValue": "l2"
            }, {
                "argName": "accesskey",
                "argValue": "123456789"
            }, {
                "argName": "secretkey",
                "argValue": "123456789"
            }, {
                "argName": "region",
                "argValue": "us-east-2"
            }],
            "functionName": "aws_s3_bucket"
        }],
        "DomainNames": "example.com"
    }

origin_certificate_verification

  • 功能说明:配置回源证书校验(SNI白名单),该功能详细介绍请参见控制台配置说明配置Common Name白名单。该功能当前需要加白名单以后才能使用,有需要请提交工单申请。

  • 功能ID(FunctionID/FuncId):223。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    enabled

    String

    是否启用回源证书校验:

    • on:启用。

    • off:关闭。

    on

    common_name_whitelist

    String

    证书白名单域名列表,支持配置多个域名,多个域名之间使用英文逗号(,)分隔。匹配了这些白名单域名的证书可以通过校验。

    example.com

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "enable",
                "argValue": "on"
            }, {
                "argName": "common_name_whitelist",
                "argValue": "example.com"
            }],
            "functionName": "origin_certificate_verification"
        }],
        "DomainNames": "example.com"
    }

origin_dns_host

  • 功能说明:配置条件源站,可以通过与规则引擎功能(功能函数:condition,功能ID:250)配合使用,实现基于用户请求中的路径、URL参数、请求头等信息来回源到指定源站。该功能当前需要加白名单以后才能使用,有需要请提交工单申请。

  • 前提条件:在添加条件源站配置之前,您需要至少先创建一条规则引擎的规则条件,在添加条件源站配置时,您必须配置一条关联的规则条件,具体请参见规则引擎。如果添加条件源站配置时没有关联规则条件,则会使DCDN回源的所有流量都指向这个唯一的源站地址(也就失去了通过规则条件来控制回源地址的意义)。

  • 功能冲突说明:条件源站功能与高级回源功能(功能函数:advanced_origin,功能ID:235)存在冲突,只能二选其一。如果已经配置了其中一个功能(注意:如果功能函数存在功能开关配置参数,在参数被置为off的情况下,也属于已存在配置),则必须删除已经添加的功能配置(您可以通过调用DeleteDcdnSpecificConfig接口来删除域名的指定配置),然后才能给另外一个功能添加配置。

  • 功能ID(FunctionID/FuncId):212。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    ali_origin_dns_host

    String

    回源查询DNS使用的域名。

    example.com

  • 配置示例:通过设置parentid来引用已经使用规则引擎功能(功能函数:condition,功能ID:250)创建好的某个规则条件(通过添加配置时生成的configid来引用),实现在用户请求命中这个规则条件的情况下,回源到指定的源站地址。

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "ali_origin_dns_host",
                "argValue": "example.com"
            }],
            "functionName": "origin_dns_host",
            "parentId":30119730104****
        }],
        "DomainNames": "example.com"
    }

origin_host

  • 功能说明:配置指定源站回源HOST,可以对指定源站设置指定的回源HOST。该功能当前需要加白名单以后才能使用,有需要请提交工单申请。

  • 功能ID(FunctionID/FuncId):242。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    origin

    String

    指定源站地址(也可以不指定源站地址,不指定源站地址时,参数origin的值设置为all,代表所有源站)。

    example.com

    host

    String

    指定HOST(也可以不指定HOST,参数host的值设置为ali_follow_origin代表跟随源站地址作为host值)。

    host.example.com

  • 配置示例一:用户请求回源到源站example.com时,使用的host值为host.example.com

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "origin",
                "argValue": "example.com"
            }, {
                "argName": "host",
                "argValue": "host.example.com"
            }],
            "functionName": "origin_host"
        }],
        "DomainNames": "example.com"
    }
  • 配置示例二:用户回源到所有的源站(源站值用all来代表)都是用同一个host值host.example.com

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "origin",
                "argValue": "all"
            }, {
                "argName": "host",
                "argValue": "host.example.com"
            }],
            "functionName": "origin_host"
        }],
        "DomainNames": "example.com"
    }
  • 配置示例三:用户回源到所有的源站(源站值用all来代表)都跟随源站地址作为host值(用ali_follow_origin来表示)。

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "origin",
                "argValue": "all"
            }, {
                "argName": "host",
                "argValue": "ali_follow_origin"
            }],
            "functionName": "origin_host"
        }],
        "DomainNames": "example.com"
    }

ali_origin_port_scheme

  • 功能说明:配置回源端口和协议。该功能当前需要加白名单以后才能使用,有需要请提交工单申请。

  • 功能ID(FunctionID/FuncId):276。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    port

    String

    回源端口。

    说明

    当scheme设置为follow时,需填写http:80|https:443这样的格式。

    80

    scheme

    String

    回源协议:自定义回源协议(支持http、https、follow、https_sm、follow_sm)。

    • http:按照HTTP协议回源。

    • https:按照HTTPS协议回源,采用国际算法。

    • follow:回源协议跟随(使用HTTPS协议回源时,仅支持国际算法)。

      • 客户端采用HTTP协议,按照HTTP协议回源。

      • 客户端采用HTTPS协议。

        • 客户端为国际算法,按照HTTPS协议回源,采用国际算法。

        • 客户端为国密算法,按照HTTPS协议回源,采用国际算法。

    • https_sm:按照HTTPS协议回源,采用国密算法。

    • follow_sm:回源协议跟随(使用HTTPS协议回源时,既支持国际算法,也支持国密算法)。

      • 客户端采用HTTP协议,按照HTTP协议回源。

      • 客户端采用HTTPS协议。

        • 客户端为国际算法,按照HTTPS协议回源,采用国际算法。

        • 客户算为国密算法,按照HTTPS协议回源,采用国密算法。

    说明

    国际算法指的是国际标准的加密算法,国密算法指的是中国国家密码管理局认定的国产加密算法。

    http

  • 配置示例一:回源协议设置为http,回源端口设置为80。

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "port",
                "argValue": "80"
            }, {
                "argName": "scheme",
                "argValue": "http"
            }],
            "functionName": "ali_origin_port_scheme"
        }],
        "DomainNames": "example.com"
    }
  • 配置示例二:回源协议follow用户请求使用的协议,使用HTTP协议回源时,回源到源站的80端口,使用HTTPS协议回源时,回源到源站的443端口。

    {
    "Functions":[{
    "functionArgs": [{
    "argName": "port",
    "argValue": "http:80|https:443"
      }, {
    "argName": "scheme",
    "argValue": "follow"
      }],
      "functionName":"ali_origin_port_scheme"
    }],
      "DomainNames":"example.com"
    }

origin_sni

  • 功能说明:配置指定源站回源SNI,可以对指定源站设置指定的回源SNI。该功能详细介绍请参见控制台配置说明配置指定回源SNI。该功能当前需要加白名单以后才能使用,有需要请提交工单申请。

  • 功能ID(FunctionID/FuncId):262。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    origin

    String

    源站地址(也可以不指定源站地址,不指定源站地址的时候,参数origin的值设置为all)。

    example.com

    sni_host

    String

    sni host值:

    • 可以设置为固定值,例如:example.org

    • 跟随源站地址作为sni,设置为ali_follow_origin

    • 跟随回源host作为sni,设置为ali_follow_host

    example.org

    keepalive_sni

    String

    是否开启长连接SNI匹配:

    • on:开启。

    • off:关闭。

    说明

    开启后,不同回源SNI将使用不同长连接。

    /

  • 配置示例一:用户请求回源到源站origin.example.com时,使用的SNI值为host.example.com

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "origin",
                "argValue": "origin.example.com"
            }, {
                "argName": "sni_host",
                "argValue": "host.example.com"
            }],
            "functionName": "origin_sni"
        }],
        "DomainNames": "example.com"
    }
  • 配置示例二:用户回源到所有的源站(源站值用all来表示)都使用同一个SNI值host.example.com

    {
    "Functions": [{
    "functionArgs": [{
    "argName": "origin",
    "argValue": "all"
      }, {
    "argName": "sni_host",
    "argValue": "host.example.com"
    }],
    "functionName":"origin_sni"
     }],
     "DomainNames":"example.com"
    }
  • 配置示例三:用户回源到所有的源站(源站值用all来表示)都跟随源站地址作为SNI值(使用参数值ali_follow_origin来表示)。

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "origin",
                "argValue": "all"
            }, {
                "argName": "sni_host",
                "argValue": "ali_follow_origin"
            }],
            "functionName": "origin_sni"
        }],
        "DomainNames": "example.com"
    }
  • 配置示例四:用户回源到所有的源站(源站值用all来表示)都跟随回源host作为SNI值(使用参数值ali_follow_host来表示)。

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "origin",
                "argValue": "all"
            }, {
                "argName": "sni_host",
                "argValue": "ali_follow_host"
            }],
            "functionName": "origin_sni"
        }],
        "DomainNames": "example.com"
    }

source_group

  • 功能说明:源站组设置。该功能当前需要加白名单以后才能使用,有需要请提交工单申请。

  • 功能ID(FunctionID/FuncId):294。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    source_group_name

    String

    源站组名称,支持小写英文字母、数字和下划线,最大长度不超过128个字节。

    example_origin

    source_info

    String

    源站信息,格式为源站地址_优先级_权重_端口,不同参数值之间用下划线分隔,多个源站之间用英文(,)逗号分隔。

    • 源站地址:支持IPv4、IPv6、域名。

    • 优先级:支持1~65535(值越小优先级越大)。

    • 权重:支持1~100(DCDN回源的时候将按照源站权重来分配发送给不同源站的请求比例)。

    • 端口:支持1~65535。

    • 单个源站:192.168.0.1_10_33_80

    • 多个源站:192.168.0.1_10_33_80,192.0.2.1_10_67_80

    retry_times

    Integer

    回源重试次数。

    3

    retry_status_rule

    Integer

    回源重试状态码,目前仅支持配置以下五种:4xx、5xx、404、404-or-5xx、4xx-or-5xx,配置其中一个即可。

    404-or-5xx

    failback_source

    String

    备份使用基础源信息,取值:

    • on:在源站组内的所有源站都不可用的情况下,将会使用基本配置-源站信息里面的源站地址。

    • off:在源站组内的所有源站都不可用的情况下,将会直接给客户端返回表示源站不可用的5xx状态码。

    on

    说明

    回源重试逻辑:

    • 重试次数:回源重试的次数。

      • 回源重试只会在同一个源站组内的不同IP地址之间进行重试。

      • 实际最大重试次数受限于同一个源站组内的可用IP数量。

      • 如果不配置重试次数retry_times,默认重试次数是在3次和可用源站IP数之间取最小值。

      • 如果配置重试次数retry_times,则在配置的重试次数和可用源站IP数之间取最小值。

    • 重试状态码:节点在收到某种状态码的时候进行重试。

      • 如果不配置重试状态码retry_status_rule,默认在源站响应5xx状态码的时候进行重试。

      • 如果配置重试状态码retry_status_rule,将会按照配置的状态码进行故障转移重试。重试状态码目前仅支持配置以下五种:4xx、5xx、404、404-or-5xx、4xx-or-5xx,配置其中一个即可。

      • 配置重试状态码retry_status_rule后,默认5xx状态码仍生效。例如配置了404,则DCDN节点收到404或者5xx的时候都会进行重试。

    • 回源重试顺序:按照同一个源站组内IP地址的优先级从高到低进行重试。

    • 回源超时场景:源站主动响应重试状态码的时候,DCDN节点收到重试状态码之后就会重试。如果没有收到源站主动响应的重试状态码,则会遵循超时时间处理流程,达到超时时间之后就会触发DCDNDCDN节点重试。

      • 源站TCP建连超时:10秒。

      • 源站写超时:30秒(源站建连后写入内容超时)。

      • 源站读超时:30秒(源站建连后在一定时间内没有把DCDN节点请求的内容完整响应回去)。

    • 源站探测逻辑

      • 四层连接异常:如果DCDN节点与某个源站IP四层连接失败,会把该源站IP放到一个dead table中,这样后续的回源请求就不会去访问这个源站IP;此后DCDN节点会每隔5秒四层探测一次该源站IP,如果建连成功,则将该源站IP恢复到可用列表中。

      • 四层连接正常:如果DCDN节点与源站IP四层连接正常,但收到源站响应的重试状态码(例如:5xx),此时虽然会触发重试的逻辑,但该源站IP仍然还在可用列表中,下次访问还会按权重去请求该源站(即四层连接正常的情况下,七层异常不会主动屏蔽源站IP,如果需要主动屏蔽源站IP,则需要另外配置“回源7层监控检查”功能)。

  • 配置示例:

    {
    "Functions":[{
     "functionArgs":[{
     "argName":"source_group_name",
     "argValue":"test_yidong"
    },{
     "argName":"source_info",
      "argValue":"192.168.0.1_10_33_80,192.0.2.1_10_67_80"
    },{
    "argName":"retry_times",
    "argValue":"3"
     },{
    "argName":"retry_status_rule",
    "argValue":"404,502"
    },{
    "argName":"failback_source",
      "argValue":"on"
    }],
    "functionName":"source_group"
    }],
     "DomainNames":"example.com"
    }

ipv6_origin

  • 功能说明:配置IPv6回源,该功能详细介绍请参见控制台配置说明配置IPv6回源。该功能当前需要加白名单以后才能使用,有需要请提交工单申请。

  • 功能ID(FunctionID/FuncId):265

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    enable

    String

    是否开启IPv6回源功能。

    • on:开启。

    • off:关闭。

    说明

    开启IPv6回源功能后,DCDN回源侧将提供IPv6服务。

    • DCDN节点和源站都具备可用的IPv6地址,则使用IPv6建连。

    • 以下场景使用IPv4建连:

      • DCDN节点不具备可用的IPv6地址。

      • 源站不具备可用的IPv6地址。

      • DCDN节点和源站都不具备可用的IPv6地址。

    on

    follow

    String

    是否开启回源跟随客户端IP协议版本功能。

    • on:开启。

    • off:关闭。

    说明

    开启回源跟随客户端IP协议版本功能后,DCDN回源将会跟随客户端请求使用的IP协议版本。

    • 客户端请求使用IPv6,则DCDN优先回源IPv6源站,如果没有IPv6源站,则使用IPv4源站。

    • 客户端请求使用IPv4,则DCDN优先回源IPv4源站,如果没有IPv4源站,则使用IPv6源站。

    on

    ipv6_v4_mix_used

    String

    是否开启“源站IPv4地址/IPv6地址轮询”功能。

    • on:开启。

    • off:关闭。

    说明
    • “源站IPv4地址/IPv6地址轮询”功能与“IPv6回源”、“回源跟随客户端IP协议版本”这两个功能是互斥的,“回源v4/v6轮询”功能一旦开启,“IPv6回源”、“回源跟随客户端IP协议版本”这两个功能就会失效。

    • “源站IPv4地址/IPv6地址轮询”功能的作用是不论客户端请求使用的是IPv4还是IPv6,也不论源站有几个IPv4地址、几个IPv6地址,都会统一使用轮询方式回源到各个源站地址。

    • 如果IPv4、IPv6地址配置了权重比例,那么还会按照权重比例回源。

    off

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "enable",
                "argValue": "on"
            },{
                "argName": "follow",
                "argValue": "on"
            }],
            "functionName": "ipv6_origin"
        }],
        "DomainNames": "example.com"
    }

cos_auth

  • 功能说明:配置腾讯云COS云存储的鉴权Bucket。该功能当前需要加白名单以后才能使用,有需要请提交工单申请。

  • 功能ID(FunctionID/FuncId):288。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    enable

    String

    是否开启腾讯云COS云存储鉴权Bucket:

    • on:开启。

    • off:关闭。

    on

    cos_valid_period

    String

    鉴权签名的有效时间,单位为秒,不填默认为3600秒。

    /

    cos_secret_id

    String

    腾讯云的鉴权ID。

    123456789

    cos_secret_key

    String

    腾讯云的鉴权密钥。

    12345678

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "enable",
                "argValue": "on"
            }, {
                "argName": "cos_secret_id",
                "argValue": "123456789"
            }, {
                "argName": "cos_secret_key",
                "argValue": "123456789"
            }],
            "functionName": "cos_auth"
        }],
        "DomainNames": "example.com"
    }

oss_auth

  • 功能说明:用于配置DCDN回源OSS使用的鉴权bucket信息。

  • 功能ID(FunctionID/FuncId):10。

  • 注意事项:在给加速域名配置了OSS类型的源站地址之后,平台将会自动添加oss_auth配置,无需用户手动添加,也请用户注意不要误删该配置,否则会引起OSS源站无法实现对DCDN回源流量的计费减免,在开启OSS私有bucket鉴权的情况下,还会导致DCDN回源OSS私有bucket鉴权失败。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    oss_bucket_id

    String

    OSS bucket的公网域名地址。

    dcdn-test.oss-cn-hongkong.aliyuncs.com

    oss_pri_buckets

    String

    OSS bucket的公网域名地址及其对应的bucket名称。

    dcdn-test.oss-cn-hongkong.aliyuncs.com|dcdn-test

  • 配置示例:

    {
        "Functions": [
                {
                  "ArgValue": "dcdn-test.oss-cn-hongkong.aliyuncs.com",
                  "ArgName": "oss_bucket_id"
                },
                {
                  "ArgValue": "dcdn-test.oss-cn-hongkong.aliyuncs.com|dcdn-test",
                  "ArgName": "oss_pri_buckets"
                }
              ],
            "functionName": "oss_auth"
        }],
        "DomainNames": "example.com"
    }

缓存配置

filetype_based_ttl_set

  • 功能说明:配置文件过期时间,该功能详细介绍请参见控制台配置说明配置缓存过期时间

  • 功能ID(FunctionID/FuncId):6。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    ttl

    Integer

    缓存时间,单位为秒,取值范围是1~99999999(3年多一些)。

    500000

    file_type

    String

    文件类型,区分大小写。多个文件类型用半角逗号(,)分隔。例如jpg,txt。

    jpg

    weight

    Integer

    权重。取值:1~99。

    说明

    默认为1,数字越大优先级越高。

    1

    swift_origin_cache_high

    String

    源站响应缓存策略优先,当开启时,表示在源站响应缓存相关头(比如Cache-Control、Pragma等)的时候,源站的缓存策略优先生效。可以配置的值为:

    • on:开启

    • off(默认):关闭

    off

    swift_no_cache_low

    String

    忽略源站不缓存响应头,当开启时,表示忽略源站的以下响应头(均表示不缓存)。

    • Cache-Control: no-store

    • Cache-Control: no-cache

    • Cache-Control: max-age=0

    • Pragme: no-cache

    可以配置的值为:

    • on:开启

    • off(默认):关闭

    off

    swift_follow_cachetime

    String

    客户端跟随DCDN缓存策略,当开启时,表示将最终生效的DCDN缓存策略响应给客户端。可以配置的值为:

    • on:开启

    • off(默认):关闭

    off

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "file_type",
                "argValue": "jpg"
            }, {
                "argName": "weight",
                "argValue": "1"
            }, {
                "argName": "ttl",
                "argValue": "500000"
            }, {
                "argName": "swift_origin_cache_high",
                "argValue": "off"
            }, {
                "argName": "swift_no_cache_low",
                "argValue": "off"
            }, {
                "argName": "swift_follow_cachetime",
                "argValue": "off"
            }],
            "functionName": "filetype_based_ttl_set"
        }],
        "DomainNames": "example.com"
    }
    

path_based_ttl_set

  • 功能说明:配置目录过期时间,该功能详细介绍请参见控制台配置说明配置缓存过期时间

  • 功能ID(FunctionID/FuncId):7。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    ttl

    Integer

    缓存时间,单位为秒,取值范围是1~99999999(3年多一些)。

    500000

    path

    String

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

    /example/demo

    weight

    Integer

    权重。取值:1~99。

    说明

    默认为1,数字越大优先级越高。

    1

    swift_origin_cache_high

    String

    源站响应缓存策略优先,当开启时,表示在源站响应缓存相关头(比如Cache-Control、Pragma等)的时候,源站的缓存策略优先生效。可以配置的值为:

    • on:开启

    • off(默认):关闭

    off

    swift_no_cache_low

    String

    忽略源站不缓存响应头,当开启时,表示忽略源站的以下响应头(均表示不缓存)。

    • Cache-Control: no-store

    • Cache-Control: no-cache

    • Cache-Control: max-age=0

    • Pragme: no-cache

    可以配置的值为:

    • on:开启

    • off(默认):关闭

    off

    swift_follow_cachetime

    String

    客户端跟随DCDN缓存策略,当开启时,表示将最终生效的DCDN缓存策略响应给客户端。可以配置的值为:

    • on:开启

    • off(默认):关闭

    off

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "path",
                "argValue": "/example/demo"
            }, {
                "argName": "weight",
                "argValue": "1"
            }, {
                "argName": "ttl",
                "argValue": "500000"
            }, {
                "argName": "swift_origin_cache_high",
                "argValue": "off"
            }, {
                "argName": "swift_no_cache_low",
                "argValue": "off"
            }, {
                "argName": "swift_follow_cachetime",
                "argValue": "off"
            }],
            "functionName": "path_based_ttl_set"
        }],
        "DomainNames": "example.com"
    }
    

filetype_force_ttl_code

  • 功能说明:配置文件状态码过期时间,该功能详细介绍请参见控制台配置说明配置状态码过期时间

  • 功能ID(FunctionID/FuncId):63。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    file_type

    String

    文件类型,区分大小写,多个用半角逗号(,)分隔,例如:jpg,txt。

    jpg

    code_string

    String

    状态码及其缓存时间,最长可设置3年,单位:秒,多个用半角逗号(,)分隔。例如:302=0,301=0,4xx=2。

    403=10

    swift_origin_cache_high

    String

    源站响应缓存策略优先,当开启时,表示在源站响应缓存相关头(比如Cache-Control、Pragma等)的时候,源站的缓存策略优先生效。可以配置的值为:

    • on:开启

    • off(默认):关闭

    off

    swift_no_cache_low

    String

    忽略源站不缓存响应头,当开启时,表示忽略源站的以下响应头(均表示不缓存)。

    • Cache-Control: no-store

    • Cache-Control: no-cache

    • Cache-Control: max-age=0

    • Pragme: no-cache

    可以配置的值为:

    • on:开启

    • off(默认):关闭

    off

    swift_follow_cachetime

    String

    客户端跟随DCDN缓存策略,当开启时,表示将最终生效的DCDN缓存策略响应给客户端。可以配置的值为:

    • on:开启

    • off(默认):关闭

    off

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "file_type",
                "argValue": "jpg"
            }, {
                "argName": "code_string",
                "argValue": "403=10"
            }, {
                "argName": "swift_origin_cache_high",
                "argValue": "off"
            }, {
                "argName": "swift_no_cache_low",
                "argValue": "off"
            }, {
                "argName": "swift_follow_cachetime",
                "argValue": "off"
            }],
            "functionName": "filetype_force_ttl_code"
        }],
        "DomainNames": "example.com"
    }

path_force_ttl_code

  • 功能说明:配置路径状态码过期时间,该功能详细介绍请参见控制台配置说明配置状态码过期时间

  • 功能ID(FunctionID/FuncId):65。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    path

    String

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

    /example/demo

    code_string

    String

    状态码及其缓存时间,单位为秒,取值范围是1~99999999(3年多一些),多个用半角逗号(,)分隔。例如:302=0,301=0,4xx=2。

    403=10,404=15

    swift_origin_cache_high

    String

    源站响应缓存策略优先,当开启时,表示在源站响应缓存相关头(比如Cache-Control、Pragma等)的时候,源站的缓存策略优先生效。可以配置的值为:

    • on:开启

    • off(默认):关闭

    off

    swift_no_cache_low

    String

    忽略源站不缓存响应头,当开启时,表示忽略源站的以下响应头(均表示不缓存)。

    • Cache-Control: no-store

    • Cache-Control: no-cache

    • Cache-Control: max-age=0

    • Pragme: no-cache

    可以配置的值为:

    • on:开启

    • off(默认):关闭

    off

    swift_follow_cachetime

    String

    客户端跟随DCDN缓存策略,当开启时,表示将最终生效的DCDN缓存策略响应给客户端。可以配置的值为:

    • on:开启

    • off(默认):关闭

    off

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "path",
                "argValue": "/example/demo"
            }, {
                "argName": "code_string",
                "argValue": "403=10,404=15"
            }, {
                "argName": "swift_origin_cache_high",
                "argValue": "off"
            }, {
                "argName": "swift_no_cache_low",
                "argValue": "off"
            }, {
                "argName": "swift_follow_cachetime",
                "argValue": "off"
            }],
            "functionName": "path_force_ttl_code"
        }],
        "DomainNames": "example.com"
    }
    

default_ttl_code

  • 功能说明:配置状态码过期时间(源站优先)。

  • 功能ID(FunctionID/FuncId):207。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    default_ttl_code

    String

    状态码及其缓存时间,单位为秒,取值范围是1~99999999(3年多一些),多个状态码之间用半角逗号(,)分隔。

    4xx=3,200=3600,5xx=1

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "default_ttl_code",
                "argValue": "4xx=3,200=3600,5xx=1"
            }],
            "functionName": "default_ttl_code"
        }],
        "DomainNames": "example.com"
    }

set_resp_header

  • 功能说明:配置自定义HTTP响应头,该功能详细介绍请参见控制台配置说明配置HTTP响应头

  • 功能ID(FunctionID/FuncId):27。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    key

    String

    响应头。

    Cache-Control

    value

    String

    响应头值,多个值之间用英文逗号(,)分隔。

    说明

    如果要删除某个响应头,请设置响应头的值为null。

    no-cache

    header_operation_type

    String

    请求头操作,取值:

    • add:添加。

    • delete:删除。

    • modify:变更。

    • rewrite:替换。

    add

    duplicate

    String

    是否允许重复添加名称相同的请求头。当header_operation_type使用add时(即执行增加操作),需要设置是否允许重复:

    • on:允许重复。

    • off:不允许重复。

    off

    header_source

    String

    查找需要替换的参数值。当header_operation_type使用rewrite时(即执行替换操作),需要设置该参数,取值支持正则表达式。

    value1

    header_destination

    String

    替换后的参数值。当header_operation_type使用rewrite时(即执行替换操作),需要设置该参数。

    value123

    match_all

    String

    设置匹配模式。当header_operation_type使用rewrite时(即执行替换操作),需要设置匹配模式:

    • on:匹配所有(所有匹配上的值都会被替换)。

    • off:仅匹配第一个(只有第一个匹配上的值会被替换)。

    /

    access_origin_control

    String

    是否开启跨域访问:

    • on:开启DCDN节点对用户请求的跨域校验。

    • off:关闭该功能。

    /

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "header_operation_type",
                "argValue": "add"
            }, {
                "argName": "key",
                "argValue": "Cache-Control"
            }, {
                "argName": "value",
                "argValue": "no-cache"
            }, {
                "argName": "duplicate",
                "argValue": "off"
            }],
            "functionName": "set_resp_header"
        }],
        "DomainNames": "example.com"
    }

error_page

  • 功能说明:配置自定义页面,该功能详细介绍请参见控制台配置说明配置自定义页面

  • 功能ID(FunctionID/FuncId):15。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    error_code

    Integer

    错误码。

    404

    rewrite_page

    String

    重定向页面。

    http://example.aliyundoc.com/error404.html

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "error_code",
                "argValue": "404"
            }, {
                "argName": "rewrite_page",
                "argValue": "http://example.aliyundoc.com/error404.html"
            }],
            "functionName": "error_page"
        }],
        "DomainNames": "example.com"
    }

host_redirect

  • 功能说明:配置URI重写规则,该功能详细介绍请参见控制台配置说明配置URI重写规则

  • 功能ID(FunctionID/FuncId):43。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    regex

    String

    需要重写的URL,以“/”开头的URI,不含“http://”头及域名。支持PCRE正则表达式,例如:^/hello$。

    ^/hello$

    replacement

    String

    目标URL,以“/”开头的URI,不含“http://”头及域名。

    /hello/test

    flag

    String

    指定DCDN节点在URI改写完成之后执行的动作,取值:

    • :默认为空,指的是不传flag参数。在配置了多条规则的情况下,如果请求URL匹配了某条规则,执行完当前规则以后,还会继续匹配后续规则。

    • break:如果请求URL匹配了某条规则,该请求将会被重写为目标URL(不修改原始URL中的参数)。执行完当前规则后,当存在其他配置规则时,将不再匹配剩余规则。

    • redirect:如果请求URL匹配某条规则,该请求将会被302重定向到目标URL,DCDN节点将返回给客户端的Location信息为目标URL(不修改原始URL中的参数)。执行完当前规则后,当存在其他配置规则时,会继续匹配剩余规则。

    • enhance_break:和 break类似,但是会修改包含参数在内的整个URL。

    • enhance_redirect:和redirect类似,但是会修改包含参数在内的整个URL。

    说明

    不同的执行规则使用的重写方式不同,重写后的URL是否支持其他域名、其他协议也存在差异:

    • breakenhance_break采用直接重写用户请求URL的方式,不支持重写为其他域名,也不支持重写为其他协议(例如从HTTP协议重写为HTTPS协议)。

    • redirectenhance_redirect采用302跳转方式实现URL重写,支持重写为其他域名,也支持重写为其他协议:

      • 302 Location地址除了可以设置为当前的加速域名,还支持设置为其他域名,可以实现这样的效果:原始URL使用的域名是example.com,重写后的URL使用新的域名aliyundoc.com。

      • 302 Location地址支持使用其他协议,可以实现这样的效果:原始URL使用HTTP协议,重写后的URL使用HTTPS协议。

    redirect

    rewrite_method

    String

    重定向方式,支持302、303、307状态码:

    • 302:默认重定向方式,GET请求方式不会发生变更,其他请求方式有可能会变更为GET请求方式。

    • 303:GET请求方式不会发生变更,其他请求方式会变更为GET请求方式(消息主体会丢失)。

    • 307:请求方式和消息主体都不发生变化。

    302

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "flag",
                "argValue": "redirect"
            }, {
                "argName": "regex",
                "argValue": "^/hello$"
            }, {
                "argName": "replacement",
                "argValue": "/hello/test"
            }, {
                "argName": "rewrite_method",
                "argValue": "302"
            }],
            "functionName": "host_redirect"
        }],
        "DomainNames": "example.com"
    }

self_defined_cachekey

  • 功能说明:配置自定义Cachekey,该功能详细介绍请参见控制台配置说明自定义CacheKey

  • 功能ID(FunctionID/FuncId):227。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    uri

    Array of String

    将请求中的源URI改写为目标URI,然后存为cachekey。

    • uri_to_rewrite用于指定源uri。

    • ai_uri_regex用于指定目标uri。

    [{"uri_to_rewrite":"/hello","ai_uri_regex":"/hello/test"}]

    args

    Array of String

    请求中的参数进行增、删、改和保留操作,然后将结果存为cachekey,取值:

    • args_operation_type:指定参数操作类型,支持add(修改)、delete(删除)、modify(变更)和keep(保留)。

    • args:指定参数操作对应的参数值。

    [{"args":"test=123","args_operation_type":"add"}]

    headers

    String

    用于增加多个http header,并且拼接到cachekey中,多个http header之间使用空格分隔。

    example

    variable

    Array of String

    自定义变量,可使用正则表达式从请求URL中的请求参数、http header、cookie和uri中截取出任意字段,然后拼接到cachekey中。

    []

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "uri",
                "argValue": [{
                    "uri_to_rewrite": "/hello",
                    "ai_uri_regex": "/hello/test"
                }]
            }, {
                "argName": "args",
                "argValue": [{
                    "args": "test=123",
                    "args_operation_type": "add"
                }]
            }, {
                "argName": "headers",
                "argValue": ""
            }, {
                "argName": "variable",
                "argValue": []
            }],
            "functionName": "self_defined_cachekey"
        }],
        "DomainNames": "example.com"
    }

rewrite_host

  • 功能说明:共享缓存。

  • 功能ID(FunctionID/FuncId):54。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    share_host

    String

    可以与当前域名共享缓存的目标域名。该配置不修改用户请求的回源HOST,只是在查询缓存资源的时候,使用share_host值来生成查询用的cachekey。

    example.com

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "share_host",
                "argValue": "example.com"
            }],
            "functionName": "rewrite_host"
        }],
        "DomainNames": "example.com"
    }

serving_stale_content

  • 功能说明:响应过期缓存。

  • 功能ID(FunctionID/FuncId):260。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    origin_error_status_code

    String

    自定义源站异常状态码。

    • 功能说明:用于设置在源站返回哪些状态码时适用于此功能配置。

    • 默认值:默认不填写。默认情况下,源站异常的定义是超时+所有的5xx状态码。

    • 配置说明:支持直接输入4xx、5xx来模糊匹配,也支持输入502、504这样的状态码来精确匹配;支持输入多个状态码,输入多个状态码的情况下,各个状态码之间用英文逗号进行分隔。

    502

    extend_expiration_time

    Integer

    过期延长时间。

    • 功能说明:缓存过期后,希望保留旧缓存的最长时间。

    • 默认值:默认不填写。默认情况下,过期延长时间是1小时。

    • 配置说明:输入值为大于等于1的正整数,单位为秒。

    60

    origin_first

    String

    源站策略优先。

    • 功能说明:参数配置为on的情况下可以开启源站策略优先,这时候如果源站返回文件时携带了缓存策略Cache-Control: stale-if-error=xx,将优先遵循源站响应信息里面stale-if-error参数设置的时间来作为过期延长时间。

    • 默认值:默认不填写。默认情况下,等同于off,这时候使用的是通过参数extend_expiration_time设置的过期延长时间

    • 配置说明:支持on(开启)、off(关闭)。

    on

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "origin_error_status_code",
                "argValue": "502"
            }, {
                "argName": "extend_expiration_time",
                "argValue": "60"
            }, {
                "argName": "origin_first",
                "argValue": "off"
            }],
            "functionName": "serving_stale_content"
        }],
        "DomainNames": "example.com"
    }

HTTPS配置

https_option

  • 功能说明:配置HTTPS基础参数,该功能详细介绍请参见控制台配置说明配置HTTPS证书配置HTTP/2配置OCSP Stapling

  • 功能ID(FunctionID/FuncId):78。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    http2

    String

    是否开启HTTP2开关:

    • on:开启。

    • off:关闭。

    on

    ocsp_stapling

    String

    是否开启OCSP Stapling开关:

    • on:开启。

    • off:关闭。

    on

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "http2",
                "argValue": "on"
            }, {
                "argName": "ocsp_stapling",
                "argValue": "on"
            }],
            "functionName": "https_option"
        }],
        "DomainNames": "example.com"
    }

http_force

  • 功能说明:配置强制HTTP跳转,该功能详细介绍请参见控制台配置说明配置强制跳转

  • 功能冲突说明:强制HTTP跳转功能与强制HTTPS跳转功能(功能函数:https_force,功能ID:44)存在冲突,只能二选其一。如果已经配置了其中一个功能(注意:如果功能函数存在功能开关配置参数,在参数被置为off的情况下,也属于已存在配置),则必须删除已经添加的功能配置(您可以通过调用DeleteDcdnSpecificConfig接口来删除域名的指定配置),然后才能给另外一个功能添加配置。

  • 功能ID(FunctionID/FuncId):45。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    enable

    String

    是否开启强制HTTP跳转:

    • on:开启。

    • off:关闭。

    on

    http_rewrite

    String

    跳转方式,支持301、308状态码:

    • 301:GET请求方式不会发生变更,其他请求方式有可能会变更为GET请求方式。

    • 308:请求方式和消息主体都不发生变化。

    301

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "enable",
                "argValue": "on"
            }, {
                "argName": "http_rewrite",
                "argValue": "301"
            }],
            "functionName": "http_force"
        }],
        "DomainNames": "example.com"
    }

https_force

  • 功能说明:配置强制HTTPS跳转,该功能详细介绍请参见控制台配置说明配置强制跳转

  • 功能冲突说明:强制HTTPS跳转功能与强制HTTP跳转功能(功能函数:http_force,功能ID:45)存在冲突,只能二选其一。如果已经配置了其中一个功能(注意:如果功能函数存在功能开关配置参数,在参数被置为off的情况下,也属于已存在配置),则必须删除已经添加的功能配置(您可以通过调用DeleteDcdnSpecificConfig接口来删除域名的指定配置),然后才能给另外一个功能添加配置。

  • 功能ID(FunctionID/FuncId):44。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    enable

    String

    是否开启强制HTTPS跳转:

    • on:开启。

    • off:关闭。

    on

    https_rewrite

    String

    跳转方式,支持301、308状态码:

    • 301:GET请求方式不会发生变更,其他请求方式有可能会变更为GET请求方式。

    • 308:请求方式和消息主体都不发生变化。

    301

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "enable",
                "argValue": "on"
            }, {
                "argName": "https_rewrite",
                "argValue": "301"
            }],
            "functionName": "https_force"
        }],
        "DomainNames": "example.com"
    }

https_tls_version

  • 功能说明:配置TLS协议版本,该功能详细介绍请参见控制台配置说明配置TLS版本控制

  • 功能ID(FunctionID/FuncId):110。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    tls10

    String

    是否开启TLSv1.0:

    • on(默认):开启。

    • off:关闭。

    on

    tls11

    String

    是否开启TLSv1.1:

    • on(默认):开启。

    • off:关闭。

    on

    tls12

    String

    是否开启TLSv1.2:

    • on(默认):开启。

    • off:关闭。

    on

    tls13

    String

    是否开启TLSv1.3:

    • on(默认):开启。

    • off:关闭。

    on

    ciphersuitegroup

    String

    加密算法套件组:

    • all(默认):全部加密算法套件。

    • strict:强加密算法套件。

    • custom:自定义加密算法套件。

    all

    ciphersuite

    String

    加密算法套件,配合ciphersuitegroup参数(自定义加密算法套件)使用,可以配置多个加密算法套件,中间用英文逗号分隔。

    TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

  • 配置示例:

    • 默认配置,开启TLS1.0、1.1、1.2,使用全部加密算法套件。

      {
          "Functions": [{
              "functionArgs": [
                  {
                    "ArgValue": "on",
                    "ArgName": "tls10"
                  },
                  {
                    "ArgValue": "on",
                    "ArgName": "tls11"
                  },
                  {
                    "ArgValue": "on",
                    "ArgName": "tls12"
                  },
                  {
                    "ArgValue": "off",
                    "ArgName": "tls13"
                  },
                  {
                    "ArgValue": "all",
                    "ArgName": "ciphersuitegroup"
                  }
                ],
              "functionName": "https_tls_version"
          }],
          "DomainNames": "example.com"
      }
    • 开启TLS1.2、1.3,使用强加密算法套件。

      {
          "Functions": [{
              "functionArgs": [
                  {
                    "ArgValue": "off",
                    "ArgName": "tls10"
                  },
                  {
                    "ArgValue": "off",
                    "ArgName": "tls11"
                  },
                  {
                    "ArgValue": "on",
                    "ArgName": "tls12"
                  },
                  {
                    "ArgValue": "on",
                    "ArgName": "tls13"
                  },
                  {
                    "ArgValue": "strict",
                    "ArgName": "ciphersuitegroup"
                  }
                ],
              "functionName": "https_tls_version"
          }],
          "DomainNames": "example.com"
      }
    • 开启TLS1.2、1.3,使用自定义加密算法套件。

      {
          "Functions": [{
              "functionArgs": [
                  {
                    "ArgValue": "off",
                    "ArgName": "tls10"
                  },
                  {
                    "ArgValue": "off",
                    "ArgName": "tls11"
                  },
                  {
                    "ArgValue": "on",
                    "ArgName": "tls12"
                  },
                  {
                    "ArgValue": "on",
                    "ArgName": "tls13"
                  },
                  {
                    "ArgValue": "custom",
                    "ArgName": "ciphersuitegroup"
                  },
                  {
                    "ArgValue": "TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
                    "ArgName": "ciphersuite"
                  }
                ],
              "functionName": "https_tls_version"
          }],
          "DomainNames": "example.com"
      }

HSTS

  • 功能说明:配置HSTS,该功能详细介绍请参见控制台配置说明配置HSTS

  • 功能ID(FunctionID/FuncId):112。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    enabled

    String

    是否开启HSTS:

    • on:开启。

    • off:关闭。

    on

    https_hsts_max_age

    Integer

    过期时间,单位:秒。

    说明

    建议填写5184000s(60天)。

    5184000

    https_hsts_include_subdomains

    String

    配置HSTS头部是否包含子域名参数,取值on或者off。

    说明

    开启前请确保该加速域名的所有子域名都已开启HTTPS,否则会导致子域名自动跳转到HTTPS后无法访问。

    off

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "enabled",
                "argValue": "on"
            }, {
                "argName": "https_hsts_max_age",
                "argValue": "5184000"
            }, {
                "argName": "https_hsts_include_subdomains",
                "argValue": "off"
            }],
            "functionName": "HSTS"
        }],
        "DomainNames": "example.com"
    }

访问控制

referer_white_list_set

  • 功能说明:配置Referer白名单,该功能详细介绍请参见控制台配置说明配置Referer防盗链

  • 功能冲突说明:Referer白名单功能与Referer黑名单功能(功能函数:referer_black_list_set,功能ID:5)存在冲突,只能二选其一。如果已经配置了其中一个功能(注意:如果功能函数存在功能开关配置参数,在参数被置为off的情况下,也属于已存在配置),则必须删除已经添加的功能配置(您可以通过调用DeleteDcdnSpecificConfig接口来删除域名的指定配置),然后才能给另外一个功能添加配置。

  • 功能ID(FunctionID/FuncId):1。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    refer_domain_allow_list

    String

    白名单列表,多个用半角逗号(,)分隔。

    example.aliyundoc.com,demo.aliyundoc.com

    allow_empty

    String

    是否允许空referer字段访问DCDN资源。取值:

    • on:允许。

    • off(默认值):禁止。

    off

    redirect_url

    String

    重定向URL,即用户请求中的referer信息未匹配上白名单列表,被拦截后不会再返回403,而是会返回302加Location头,该项为Location头的值,以 http:// 或者 https:// 开头。

    http://www.example.com

    disable_ast

    String

    使用精确匹配模式,控制“白名单列表”项中填写的域名是否为精确匹配。如果勾选(on)则精确匹配域名。

    • 取值为on时:

      • 支持精确匹配

        • 白名单列表填写example.com,匹配example.com

        • 白名单列表填写a*b.example.com,匹配a<任意字符>b.example.com

      • 不支持后缀匹配

    • 取值为off(默认值)时:

      • 不支持精确匹配

      • 支持后缀匹配

        • 白名单列表填写example.com,匹配example.com<任意字符>.example.com

        • 白名单列表填写a*b.example.com,匹配a<任意字符>b.example.com<任意字符>.a<任意字符>b.example.com

    off

    ignore_scheme

    String

    开启忽略scheme。开启后,如果用户请求中的referer没有带上HTTP或HTTPS协议头部,则依然当做有效referer进行处理。示例:

    • 取值为on时,referer格式如下:

      referer: www.example.com

    • 取值为off(默认值)时,referer格式如下:

      referer: https://www.example.com

    off

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "allow_empty",
                "argValue": "off"
            }, {
                "argName": "refer_domain_allow_list",
                "argValue": "example.aliyundoc.com,demo.aliyundoc.com"
            }],
            "functionName": "referer_white_list_set"
        }],
        "DomainNames": "example.com"
    }

referer_black_list_set

  • 功能说明:配置Referer黑名单,该功能详细介绍请参见控制台配置说明配置Referer防盗链

  • 功能冲突说明:Referer黑名单功能与Referer白名单功能(功能函数:referer_white_list_set,功能ID:1)存在冲突,只能二选其一。如果已经配置了其中一个功能(注意:如果功能函数存在功能开关配置参数,在参数被置为off的情况下,也属于已存在配置),则必须删除已经添加的功能配置(您可以通过调用DeleteDcdnSpecificConfig接口来删除域名的指定配置),然后才能给另外一个功能添加配置。

  • 功能ID(FunctionID/FuncId):5。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    refer_domain_deny_list

    String

    黑名单列表,多个用半角逗号(,)分隔。

    example.aliyundoc.com,demo.aliyundoc.com

    allow_empty

    String

    是否允许空referer字段访问DCDN资源:

    • on:允许。

    • off:禁止。

    off

    redirect_url

    String

    重定向URL,即用户请求中的referer信息匹配上黑名单列表,被拦截后不会再返回403,而是会返回302加Location头,该项为Location头的值,以 http:// 或者 https:// 开头。

    http://www.example.com

    disable_ast

    String

    使用精确匹配模式,控制“黑名单列表”项中填写的域名是否为精确匹配。如果勾选(on)则精确匹配域名。

    • 取值为on时:

      • 支持精确匹配

        • 黑名单列表填写example.com,匹配example.com

        • 黑名单列表填写a*b.example.com,匹配a<任意字符>b.example.com

      • 不支持后缀匹配

    • 取值为off(默认值)时:

      • 不支持精确匹配

      • 支持后缀匹配

        • 黑名单列表填写example.com,匹配example.com<任意字符>.example.com

        • 黑名单列表填写a*b.example.com,匹配a<任意字符>b.example.com<任意字符>.a<任意字符>b.example.com

    off

    ignore_scheme

    String

    开启忽略scheme。开启后,如果用户请求中的referer没有带上HTTP或HTTPS协议头部,则依然当做有效referer进行处理。示例:

    • 取值为on时,referer格式如下:

      referer: www.example.com

    • 取值为off(默认值)时,referer格式如下:

      referer: https://www.example.com

    off

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "allow_empty",
                "argValue": "off"
            }, {
                "argName": "refer_domain_deny_list",
                "argValue": "example.aliyundoc.com,demo.aliyundoc.com"
            }],
            "functionName": "referer_black_list_set"
        }],
        "DomainNames": "example.com"
    }

aliauth

  • 功能说明:配置URL鉴权,该功能详细介绍请参见控制台配置说明配置URL鉴权

  • 功能ID(FunctionID/FuncId):25。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    auth_m3u8

    String

    开启m3u8内容改写,对m3u8里面的ts补齐对应的鉴权,可以避免ts的访问鉴权失败,取值on(默认值)和off。

    on

    auth_type

    String

    鉴权类型。取值:

    • no_auth:无鉴权。

    • type_a:鉴权方式A。

    • type_b:鉴权方式B。

    • type_c:鉴权方式C。

    • type_f:鉴权方式F。

    type_a

    auth_key1

    String

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

    1234567890123456789

    auth_key2

    String

    鉴权key2(16~128个字符支持大写字母、小写字母和数字)。

    1234567890123456789

    ali_auth_delta

    Integer

    鉴权URL有效时长,默认1800,单位:秒。

    1800

    req_auth_ip_white

    String

    白名单例外IP列表,白名单中的IP不去进行鉴权校验。

    支持输入多个IP地址,多个IP地址之间使用英文逗号分隔。

    192.168.0.1

    req_auth_ip_acl_xfwd

    String

    客户端例外IP的提取方式,取值支持:

    • on:该模式为默认模式。该模式校验的是用户请求中x-forwarded-for请求头携带的左边第一个IP,这个IP对应客户端真实IP。

    • off:该模式校验的是客户端与DCDN节点之间建连使用的IP。

    • all:同时校验以下两个IP地址信息:

      • 用户请求中x-forwarded-for请求头携带的左边第一个IP,即客户端真实IP。

      • 客户端与DCDN节点之间建连使用的IP。

    all

    sign_param

    String

    签名参数名称。仅在鉴权类型设置为F方式的时候有效

    sign

    time_param

    String

    时间戳参数名称。仅在鉴权类型设置为F方式的时候有效。

    time

    time_format

    String

    时间戳格式。仅在鉴权类型设置为F方式的时候有效。

    • dec:十进制

    • hex:十六进制

    hec

    path_encoding

    String

    URL编码开关,支持on/off。仅在鉴权类型设置为F方式的时候有效。

    on

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "auth_type",
                "argValue": "type_a"
            }, {
                "argName": "auth_key1",
                "argValue": "1234567890123456789"
            }, {
                "argName": "auth_key2",
                "argValue": "1234567890123456789"
            }, {
                "argName": "ali_auth_delta",
                "argValue": 1800
            }, {
                "argName": "req_auth_ip_white",
                "argValue": "192.168.0.1"
            }, {
                "argName": "req_auth_ip_acl_xfwd",
                "argValue": "all"   
            }{
                "argName": "sign_param",
                "argValue": "sign"
            }, {
                "argName": "time_param",
                "argValue": "time",
            }, {
                "argName": "time_format",
                "argValue": "hec"
            }, {
                "argName": "path_encoding",
                "argValue": "on"
            }],
            "functionName": "aliauth"
        }],
        "domainNames": "example.com"
    }

cdn_remote_auth

  • 功能说明:配置远程鉴权。

  • 功能ID(FunctionID/FuncId):258。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    enable

    String

    是否开启远程鉴权:

    • on:开启。

    • off:关闭。

    on

    remote_auth_addr

    String

    鉴权服务器地址。格式:https://dcdn.aliyun.com/auth或者http://10.10.10.10/auth

    https://example.aliyundoc.com/auth

    remote_auth_method

    String

    请求方法,支持get/post/head。

    get

    remote_auth_type

    String

    鉴权文件类型。all表示所有类型,多个文件类型用竖线分隔、区分大小写(jpg不等同于JPG)。

    all

    remote_auth_reserve_args

    String

    保留参数设置,多个请求头用竖线分隔,不区分大小写(key等同于KEY)。

    • all:保留所有参数。

    • ali_delete_all_args:表示删除所有URL参数。

    all

    remote_auth_custom_args

    String

    添加自定义参数,多个参数用竖线分隔、区分大小写(key不等同于KEY)。

    remote_auth_reserve_header

    String

    保留请求头设置,多个请求头用竖线分隔,不区分大小写(http_remote_addr等同于HTTP_Remote_Addr)。

    • all:保留所有请求头。

    • ali_delete_all_headers:删除所有请求头。

    all

    remote_auth_custom_header

    String

    添加自定义请求头,多个请求头用竖线分隔、不区分大小写(http_remote_addr等同于HTTP_Remote_Addr)。

    remote_auth_success_code

    Integer

    鉴权成功状态码,指鉴权服务器在鉴权成功之后传给CDN的鉴权结果。例如:200。支持配置多个状态码,多个状态码之间用英文逗号分隔。

    200

    remote_auth_fail_code

    Integer

    鉴权失败状态码,指鉴权服务器在鉴权失败之后传给CDN的鉴权结果。例如:403。支持配置多个状态码,多个状态码之间用英文逗号分隔。

    403,404

    remote_auth_other_code_act

    String

    其他状态码是否放行,表示在鉴权服务器返回的状态码既不是鉴权成功状态码,也不是鉴权失败状态码的情况下,CDN对用户请求的处理方式,取值:

    • pass:通过(默认值)。

    • reject:拒绝。

    pass

    remote_auth_fail_resp_code

    Integer

    鉴权失败DCDN响应状态码。例如:403,DCDN传给用户的状态码。

    403

    remote_auth_timeout

    Integer

    鉴权超时配置,单位ms,最大值为3000。

    500

    remote_auth_timeout_action

    String

    鉴权超时行为,取值:

    • pass:DCDN将直接通过用户请求。

    • reject,DCDN将响应上面配置的“鉴权失败DCDN响应状态码”给用户。

    pass

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "enable",
                "argValue": "on"
            }, {
                "argName": "remote_auth_addr",
                "argValue": "https://example.aliyundoc.com/auth"
            }, {
                "argName": "remote_auth_method",
                "argValue": "get"
            }, {
                "argName": "remote_auth_type",
                "argValue": "all"
            }, {
                "argName": "remote_auth_reserve_args",
                "argValue": "all"
            }, {
                "argName": "remote_auth_custom_args",
                "argValue": ""
            }, {
                "argName": "remote_auth_reserve_header",
                "argValue": "all"
            }, {
                "argName": "remote_auth_custom_header",
                "argValue": ""
            }, {
                "argName": "remote_auth_success_code",
                "argValue": "200"
            }, {
                "argName": "remote_auth_fail_code",
                "argValue": "403"
            }, {
                "argName": "remote_auth_other_code_act",
                "argValue": "pass"
            }, {
                "argName": "remote_auth_fail_resp_code",
                "argValue": "403"
            }, {
                "argName": "remote_auth_timeout",
                "argValue": 500
            }, {
                "argName": "remote_auth_timeout_action",
                "argValue": "pass"
            }],
            "functionName": "cdn_remote_auth"
        }],
        "DomainNames": "example.com"
    }

ip_allow_list_set

  • 功能说明:配置IP白名单,该功能详细介绍请参见控制台配置说明配置IP黑白名单

  • 功能冲突说明:IP白名单功能与IP黑名单功能(功能函数:ip_black_list_set,功能ID:13)存在冲突,只能二选其一。如果已经配置了其中一个功能(注意:如果功能函数存在功能开关配置参数,在参数被置为off的情况下,也属于已存在配置),则必须删除已经添加的功能配置(您可以通过调用DeleteDcdnSpecificConfig接口来删除域名的指定配置),然后才能给另外一个功能添加配置。

  • 功能ID(FunctionID/FuncId):69。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    ip_list

    String

    IP列表,多个用半角逗号(,)分隔。

    192.168.0.1/24

    ip_acl_xfwd

    String

    使用X-Forwarded-For头中的IP,取值范围:

    • on:默认取值,使用用户请求中的x-forwarded-for请求头(从左向右取第一个IP)作为判断依据。

    • off:使用真实建连ip作为判断依据。

    • all:同时使用x-forwarded-for真实建连ip作为判断依据。

    all

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "ip_list",
                "argValue": "192.168.0.1/24"
            }],
            "functionName": "ip_allow_list_set"
        }],
        "DomainNames": "example.com"
    }

ip_black_list_set

  • 功能说明:配置IP黑名单,该功能详细介绍请参见控制台配置说明配置IP黑白名单

  • 功能冲突说明:IP黑名单功能与IP白名单功能(功能函数:ip_allow_list_set,功能ID:69)存在冲突,只能二选其一。如果已经配置了其中一个功能(注意:如果功能函数存在功能开关配置参数,在参数被置为off的情况下,也属于已存在配置),则必须删除已经添加的功能配置(您可以通过调用DeleteDcdnSpecificConfig接口来删除域名的指定配置),然后才能给另外一个功能添加配置。

  • 功能ID(FunctionID/FuncId):13。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    ip_list

    String

    IP列表,多个用半角逗号(,)分隔。

    192.168.0.1

    ip_acl_xfwd

    String

    使用X-Forwarded-For头中的IP,取值范围:

    • on:默认取值,使用用户请求中的x-forwarded-for请求头(从左向右取第一个IP)作为判断依据。

    • off:使用真实建连ip作为判断依据。

    • all:同时使用x-forwarded-for真实建连ip作为判断依据。

    all

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "ip_list",
                "argValue": "192.168.0.1"
            }],
            "functionName": "ip_black_list_set"
        }],
        "DomainNames": "example.com"
    }

ali_ua

  • 功能说明:配置User-Agent限制访问,该功能详细介绍请参见控制台配置说明配置User-Agent黑白名单

  • 功能ID(FunctionID/FuncId):58。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    ua

    String

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

    *curl*|*IE*|*chrome*|*firefox*

    type

    String

    名单类型,取值:

    • black:黑名单。

    • white:白名单。

    说明

    黑、白名单互斥,同一时间只支持其中一种方式生效。

    black

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "ua",
                "argValue": "*curl*|*IE*|*chrome*|*firefox*"
            }, {
                "argName": "type",
                "argValue": "black"
            }],
            "functionName": "ali_ua"
        }],
        "DomainNames": "example.com"
    }

性能优化

tesla

  • 功能说明:配置页面优化加速,该功能详细介绍请参见控制台配置说明页面优化

  • 功能ID(FunctionID/FuncId):16。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    enable

    String

    是否开启页面优化加速:

    • on:开启。

    • off:关闭。

    on

    trim_js

    String

    是否优化HTML中内嵌的js代码:

    • on:开启。

    • off(默认):关闭。

    off

    trim_css

    String

    是否优化HTML中内嵌的css代码:

    • on:开启。

    • off(默认):关闭。

    off

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "enable",
                "argValue": "on"
            }, {
                "argName": "trim_css",
                "argValue": "off"
            }, {
                "argName": "trim_js",
                "argValue": "off"
            }],
            "functionName": "tesla"
        }],
        "DomainNames": "example.com"
    }

gzip

  • 功能说明:页面Gzip优化,该功能详细介绍请参见控制台配置说明Gzip压缩

  • 功能ID(FunctionID/FuncId):35。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    enable

    String

    是否开启页面Gzip优化:

    • on:开启。

    • off:关闭。

    on

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "enable",
                "argValue": "on"
            }],
            "functionName": "gzip"
        }],
        "DomainNames": "example.com"
    }

brotli

  • 功能说明:配置页面Brotli压缩,该功能详细介绍请参见控制台配置说明Brotli压缩

  • 功能ID(FunctionID/FuncId):97。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    enable

    String

    是否开启页面Brotli压缩:

    • on:开启。

    • off:关闭。

    on

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "enable",
                "argValue": "on"
            }],
            "functionName": "brotli"
        }],
        "DomainNames": "example.com"
    }

set_hashkey_args

  • 功能说明:配置忽略URL参数(保留),该功能详细介绍请参见控制台配置说明过滤参数

  • 功能冲突说明:忽略URL参数(保留)功能与忽略URL参数(删除)功能(功能函数:ali_remove_args,功能ID:75)存在冲突,只能二选其一。如果已经配置了其中一个功能(注意:如果功能函数存在功能开关配置参数,在参数被置为off的情况下,也属于已存在配置),则必须删除已经添加的功能配置(您可以通过调用DeleteDcdnSpecificConfig接口来删除域名的指定配置),然后才能给另外一个功能添加配置。

  • 功能ID(FunctionID/FuncId):19。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    hashkey_args

    String

    保留参数列表,多个用半角逗号(,)分隔,最多支持填写10个。

    key1,key2

    disable

    String

    是否忽略所有参数:

    • on:忽略所有参数,除了添加参数功能仍能生效以外,删除参数、仅保留、修改参数功能都将失效。

    • off(默认):关闭忽略参数功能,保留参数、添加参数、删除参数仍会生效。

    说明

    缓存hashkey忽略所有参数,优先级低于保留缓存参数列表功能。

    on

    keep_oss_args

    String

    是否保留回源参数:

    • on:回源保留所有参数。

    • off:回源携带的参数与缓存hashkey的参数一致。

    on

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "hashkey_args",
                "argValue": ""
            }, {
                "argName": "keep_oss_args",
                "argValue": "on"
            }, {
                "argName": "disable",
                "argValue": "on"
            }],
            "functionName": "set_hashkey_args"
        }],
        "DomainNames": "example.com"
    }

ali_remove_args

  • 功能说明:配置忽略URL参数(删除),该功能详细介绍请参见控制台配置说明过滤参数

  • 功能冲突说明:忽略URL参数(删除)功能与忽略URL参数(保留)功能(功能函数:set_hashkey_args,功能ID:19)存在冲突,只能二选其一。如果已经配置了其中一个功能(注意:如果功能函数存在功能开关配置参数,在参数被置为off的情况下,也属于已存在配置),则必须删除已经添加的功能配置(您可以通过调用DeleteDcdnSpecificConfig接口来删除域名的指定配置),然后才能给另外一个功能添加配置。

  • 功能ID(FunctionID/FuncId):75。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    ali_remove_args

    String

    删除指定的参数,多个参数之间用空格隔开。

    说明

    剩余参数将作为hashkey中URL args部分。

    test

    keep_oss_args

    String

    回源是否保留参数:

    • on:回源保留所有参数。

    • off:回源携带的参数与缓存hashkey的参数一致。

    off

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "ali_remove_args",
                "argValue": "test"
            }, {
                "argName": "keep_oss_args",
                "argValue": "off"
            }],
            "functionName": "ali_remove_args"
        }],
        "DomainNames": "example.com"
    }

image_transform

  • 功能说明:配置DCDN图片转换,该功能详细介绍请参见控制台配置说明图像处理方法及优势

  • 功能ID(FunctionID/FuncId):239。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    enable

    String

    是否开启图片转换:

    • on:开启。

    • off:关闭。

    on

    filetype

    String

    支持转码的图片格式,以竖线分割符号分隔。支持以下参数值:

    • JPEG:JPEG 图片格式。

    • JPG:JPG 图片格式。

    • PNG:PNG 图片格式。

    • WEBP:WEBP 图片格式。

    • BMP:BMP 图片格式。

    • GIF:GIF 图片格式。

    • TIFF:TIFF 图片格式。

    • JP2:JPEG 2000 图片格式。

    jpg|jpeg|png

    webp

    String

    是否开启自适应转换WEBP:

    • on:开启。

    • off:关闭。

    on

    orient

    String

    是否开启图片自旋转:

    • on:开启。

    • off:关闭。

    说明

    只对有自旋转属性的图片生效。

    on

    slim

    Integer

    图片瘦身,设置瘦身的百分比,可配置范围是[0,100]。在不改变分辨率、尺寸、格式的前提下,缩小图片质量达到省流目的。

    10

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "filetype",
                "argValue": "jpg|jpeg|png"
            }, {
                "argName": "webp",
                "argValue": "on"
            }, {
                "argName": "orient",
                "argValue": "on"
            }, {
                "argName": "slim",
                "argValue": ""
            }, {
                "argName": "enable",
                "argValue": "on"
            }],
            "functionName": "image_transform"
        }],
        "DomainNames": "example.com"
    }

视频相关

range

  • 功能说明:配置range回源,该功能详细介绍请参见控制台配置说明配置Range回源

  • 功能ID(FunctionID/FuncId):31。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    enable

    String

    是否开启range回源:

    • on:开启。

    • off:关闭。

    • force:强制开启。

    on

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "enable",
                "argValue": "on"
            }],
            "functionName": "range"
        }],
        "DomainNames": "example.com"
    }

video_seek

  • 功能说明:配置视频拖拽播放,该功能详细介绍请参见控制台配置说明拖拽播放

  • 功能ID(FunctionID/FuncId):30。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    enable

    String

    是否开启视频拖拽播放:

    • on:开启。

    • off:关闭。

    on

    flv_seek_by_time

    String

    是否开启FLV按时间拖拽:

    • on:开启。

    • off:关闭。

    on

    mp4_seek_start

    String

    自定义MP4开始参数。

    mp4starttime

    mp4_seek_end

    String

    自定义MP4结束参数。

    mp4endtime

    flv_seek_start

    String

    自定义FLV开始参数。

    flvstarttime

    flv_seek_end

    String

    自定义FLV结束参数。

    flvendtime

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "enable",
                "argValue": "on"
            }],
            "functionName": "video_seek"
        }],
        "DomainNames": "example.com"
    }

ali_video_split

  • 功能说明:配置听视频。

  • 功能ID(FunctionID/FuncId):204。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    enable

    String

    是否开启听视频:

    • on:开启。

    • off:关闭。

    on

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "enable",
                "argValue": "on"
            }],
            "functionName": "ali_video_split"
        }],
        "DomainNames": "example.com"
    }

ali_video_preview

  • 功能说明:配置视频试看。

  • 功能ID(FunctionID/FuncId):205。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    enable

    String

    是否开启视频试看:

    • on:开启。

    • off:关闭。

    说明

    支持TS、MP3文件格式,FLV和MP4使用拖拽功能实现。

    on

    ali_video_preview_argument

    String

    自定义试看参数名,试看参数值的单位必须是秒。

    fds

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "enable",
                "argValue": "on"
            }, {
                "argName": "ali_video_preview_argument",
                "argValue": "fds"
            }],
            "functionName": "ali_video_preview"
        }],
        "DomainNames": "example.com"
    }

hls_token_rewrite

  • 功能说明:配置M3U8标准加密改写。

  • 功能ID(FunctionID/FuncId):253。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    enable

    String

    是否开启M3U8标准加密改写:

    • on:开启。

    • off:关闭。

    on

    hls_token_arg_name

    String

    自定义hls token的参数名称。如果不设置,使用MtsHlsUriToken作为自定义参数名。

    example

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "enable",
                "argValue": "on"
            }],
            "functionName": "hls_token_rewrite"
        }],
        "DomainNames": "example.com",
    }

安全配置

ddos_domain

  • 功能说明:DDoS防护调度,该功能详细介绍请参见控制台配置说明防护配置

  • 功能ID(FunctionID/FuncId):209。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    enable

    String

    是否开启DDoS防护:

    • on:开启。

    • off:关闭。

    on

    dispatch_qps

    String

    QPS阈值。

    • 取值范围:2000~50000。

    • 默认值:20000。

    20000

    checkurl

    String

    域名下需要健康检查的路径。

    默认值:/(代表域名默认根目录)。

    /*/examplefile.txt

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "enable",
                "argValue": "on"
            }, {
                "argName": "dispatch_qps",
                "argValue": "20000"
            }, {
                "argName": "checkurl",
                "argValue": "/*/examplefile.txt"
            }],
            "functionName": "ddos_domain"
        }],
        "DomainNames": "example.com"
    }

流量限制

limit_rate

  • 功能说明:配置单请求限速。

  • 功能ID(FunctionID/FuncId):72。

  • 参数说明:

    可以仅配置ali_limit_rate,也可以配置根据用户请求URL中携带的参数来限速,还可以设定限速开始和结束时间。

    根据用户请求URL中携带的参数来限速:通过traffic_limit_arg和traffic_limit_unit这两个参数的组合来实现。

    设定限速开始和结束时间:通过ali_limit_start_hour和ali_limit_end_hour这两个参数的组合来实现。

    参数

    类型

    是否必选

    描述

    示例值

    ali_limit_rate

    String

    指定单请求限速的具体速率(例如:200 KByte/s、1 MByte/s等),支持“数值+字母单位”的参数值(字母单位支持k、m),单位Byte/s。

    最小只能设定为100k,低于100k的值将会按100k来执行。

    • 1m:表示单请求限速为1 MByte/s

    • 100k:表示单请求限速为100 KByte/s

    ali_limit_rate_after

    String

    不限速大小,在发送了多少数据之后才开始限速。支持“数值+字母单位”的参数值(字母单位支持k、m),单位Byte。

    1000

    traffic_limit_arg

    String

    限速参数名称,根据URL中提取的arg进行限速,例如:rate。

    当请求中不带限速参数时,按默认限速值ali_limit_rate限速,如果想达到请求中没限速参数时不限速的效果,则把默认限速值ali_limit_rate配置为0k。

    rate

    traffic_limit_unit

    String

    限速参数traffic_limit_arg的单位,支持m(MByte/s)、k(KByte/s)。限速参数单位设定为m的情况下,当用户请求URL中携带的rate=1时,实际限速值为1MByte/s。

    最小只能设定为100k,低于100k的值将会按100k来执行。

    m

    ali_limit_start_hour

    Integer

    限速开始时间,取值范围[0,24],小于限速结束时间,默认值为0。

    说明

    表示时间点,24小时制的整点,例如:0表示00:00:00,24表示24:00:00。

    20

    ali_limit_end_hour

    Integer

    限速结束时间,取值范围[0,24],大于限速开始时间,默认值为24。

    23

  • 配置示例一:设置单请求限速为1 MByte/s。

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "ali_limit_rate",
                "argValue": "1m"
            }],
            "functionName": "limit_rate"
        }],
        "DomainNames": "example.com"
    }
  • 配置示例二:默认情况下,单请求限速为1 MByte/s,如果用户请求URL中携带了参数rate,则会按照参数rate的实际数值来执行限速。例如:用户请求中携带了参数rate=200,则实际将会被限速为200 KByte/s。

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "ali_limit_rate",
                "argValue": "1m"
            },{
                "argName": "traffic_limit_arg",
                "argValue": "rate"
            },{
                "argName": "traffic_limit_unit",
                "argValue": "k"
            }],
            "functionName": "limit_rate"
        }],
        "DomainNames": "example.com"
    }

WebSocket

websocket

  • 功能说明:配置WebSocket,该功能详细介绍请参见控制台配置说明配置WebSocket

  • 功能ID(FunctionID/FuncId):144。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    enabled

    String

    是否开启WebSocket:

    • on:开启。

    • off:关闭。

    on

    origin_scheme

    String

    WebSocket协议回源站时遵循的协议类型,取值:

    • http:WebSocket以HTTP协议回源。

    • https:WebSocket以HTTPS协议回源(源站需支持443端口)。

    • follow(跟随):客户端以HTTP或HTTPS协议回源,WebSocket跟随客户端的协议请求源站(源站需支持443或者80端口)。

    说明

    origin_scheme不配置时,默认取值为follow。

    http

    heartbeat

    String

    连接超时时间。

    • 取值范围:1~300

    • 单位:秒

    • 默认值:60

    60

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "enabled",
                "argValue": "on"
            }, {
                "argName": "origin_scheme",
                "argValue": "http"
            }, {
                "argName": "heartbeat",
                "argValue": "60"
            }],
            "functionName": "websocket"
        }],
        "DomainNames": "example.com"
    }

IP应用加速

protogw

  • 功能说明:配置IP应用加速,该功能详细介绍请参见控制台配置说明什么是IP应用加速

  • 功能ID(FunctionID/FuncId):163。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    realip

    String

    客户端IP透传协议开关,取值:

    • off:关闭。

    • toa:携带客户端真实IP,需要源站安装TOA内核模块,服务程序无需改造。

    • pp:携带客户端真实IP,Nginx开源版本默认支持,其他源站服务软件需自行兼容。

    toa

    port

    String

    加速端口。

    说明
    • 不支持22、123、161~162、179、830、2049、2601、2605、3389、5049、7547、8082、8087、8182、8888、9998、15772、15776、15778~15779、18053、18098~18099、18888、19313、19777、56667端口配置。

    • 如果您需要添加80和443端口,请提交工单

    8443

    mux

    String

    是否针对端口开启多路复用功能,取值:

    • on:开启。

    • off:关闭。

    off

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "realip",
                "argValue": "toa"
            }, {
                "argName": "port",
                "argValue": "8443"
            }, {
                "argName": "mux",
                "argValue": "off"
            }],
            "functionName": "protogw"
        }],
        "DomainNames": "example.com"
    }

EdgeScript边缘脚本/边缘函数

edge_function

  • 功能说明:边缘脚本EdgeScript,该功能详细介绍请参见控制台配置说明EdgeScript概述

  • 功能ID(FunctionID/FuncId):180。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    rule

    String

    DSL规则。

    if eq($uri, '/') {\n rewrite('https://example.com/index.html', 'redirect')\n}

    pri

    Integer

    优先级,取值:[0,999],数字越小优先级越高。

    说明

    头部执行和尾部执行的优先级互相独立。

    0

    enable

    String

    本条规则是否生效:

    • on:生效。

    • off:无效。

    on

    name

    String

    规则名称,仅支持英文字母和下划线(_)。

    test

    pos

    String

    规则执行位置,取值:

    • head(默认值):请求处理流程头部介入。

    • foot:请求处理流程尾部介入。

    head

    brk

    String

    中断执行,取值:

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

    • off(默认值):命中本条规则后,还会执行剩余规则。

    off

    option

    String

    扩展字段。

    grammar

    String

    规则语法,取值:es2(默认值)和js。

    /

    jsmode

    String

    JS执行模式,取值:

    • redirect:拦截模式。

    • bypass(默认值):旁路模式。

    /

  • 配置示例:

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "name",
                "argValue": "test"
            }, {
                "argName": "rule",
                "argValue": "if eq($uri, '/') {\n  rewrite('https://example.com/index.html', 'redirect')\n}"
            }, {
                "argName": "pri",
                "argValue": "0"
            }, {
                "argName": "pos",
                "argValue": "head"
            }, {
                "argName": "enable",
                "argValue": "on"
            }, {
                "argName": "brk",
                "argValue": "off"
            }, {
                "argName": "option",
                "argValue": ""
            }],
            "functionName": "edge_function"
        }],
        "DomainName": "example.com"
    }

边缘程序

edgeroutine

  • 功能说明:边缘程序,该功能详细介绍请参见控制台配置说明什么是边缘函数

  • 功能ID(FunctionID/FuncId):275。

  • 该功能需要申请再开通,您需要提交工单申请开通该功能。

规则引擎

condition

  • 功能说明:规则引擎,该功能能够使用图形化的方式来配置各种条件规则。条件规则支持对用户请求中携带的各种参数信息进行识别,以此来决定某个配置是否对该请求生效,可用于更加灵活、更加精确地控制DCDN的各种配置策略的执行效果。

  • 功能ID(FunctionID/FuncId):250。

  • 参数说明:

    参数

    类型

    是否必选

    描述

    示例值

    rule

    Array

    规则条件的具体内容,包括名称、状态、逻辑判断、条件表达式。

    规则条件内容:

    {\"match\":{\"logic\":\"and\",\"criteria\":[{\"matchType\":\"clientipVer\",\"matchObject\":\"CONNECTING_IP\",\"matchOperator\":\"equals\",\"matchValue\":\"v6\",\"negate\":false}]},\"name\":\"example\",\"status\":\"enable\"}

    实现效果:

    • 规则名称:example

    • 状态:enable

    • 逻辑判断:and

    • 条件表达式:客户端建联IP的协议版本等于v6

    条件表达式的格式(即argValue的格式)说明如下:

    参数

    说明

    \"match\":

    match表示条件匹配表达式。

    \"logic\":\"and\"

    logic表示条件匹配表达式的逻辑判断参数,取值为and和or。

    \"criteria\"

    criteria表示条件表达式的判断内容。

    \"matchType\":\"clientipVer\"

    matchType表示对用户请求中携带的某一类型信息进行匹配。

    \"matchObject\":\"CONNECTING_IP\"

    matchObject表示对匹配类型进行进一步的细分,例如:客户端IP可以进一步细分为“建联IP”和“XFF IP”。

    \"matchOperator\":\"equals\"

    matchOperator表示匹配操作执行的具体动作。

    \"matchValue\":\"v6\"

    matchValue表示预先设定的匹配值,将会与用户请求中携带的信息进行匹配。

    \"negate\":false

    negate表示是否对条件表达式的结果取反,取值为true和false。

    \"name\":\"example\"

    name表示规则条件的名称。

    \"status\":\"enable\"

    status表示规则条件的生效状态。

  • 配置示例:

    以下示例演示了如何通过OpenAPI来给加速域名example.com添加一个规则引擎配置,实现对客户端IP协议版本是否为IPv6的匹配和过滤。

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "rule",
                "argValue": "{\"match\":{\"logic\":\"and\",\"criteria\":[{\"matchType\":\"clientipVer\",\"matchObject\":\"CONNECTING_IP\",\"matchOperator\":\"equals\",\"matchValue\":\"v6\",\"negate\":false}]},\"name\":\"example\",\"status\":\"enable\"}"
            }],
            "functionName": "condition"
        }],
        "DomainNames": "example.com"
    }

    创建完成的规则引擎配置,可以供其他功能配置时关联引用,以实现更加灵活、更加精确地控制DCDN各种配置策略的执行效果。

    注意事项:

    • 其他功能在关联引用规则引擎配置的时候,需要通过设置parentid来引用已经使用规则引擎功能创建好的某个规则条件,这里的parentid等于添加规则引擎配置时生成的configid。

    • 功能函数是condition(规则引擎)的时候,不支持设置parentid参数。

QUIC

quic

  • 功能说明:QUIC协议,该功能详细介绍请参见控制台配置说明什么是QUIC协议

  • 功能ID(FunctionID/FuncId):281。

  • 参数说明:

    参数

    类型

    是否必填

    描述

    示例值

    iquic_enable

    String

    是否开启QUIC协议:

    • on:开启

    • off:关闭

    on

  • 配置示例

    {
        "Functions": [{
            "functionArgs": [{
                "argName": "iquic_enable",
                "argValue": "on"
            }],
            "functionName": "iquic"
        }],
        "DomainNames": "example.com"
    }