阿里云助力您在中国加快取得成功
一站式安全合规咨询服务
MLPS 2.0 一站式合规解决方案
依托我们的网络进军中国市场
提升面向互联网应用的性能和安全性
保障您的中国业务安全无忧
通过强大的数据安全框架保护您的数据资产
申请 ICP 备案的流程解读和咨询服务
面向大数据建设、管理及应用的全域解决方案
企业内大数据建设、管理和应用的一站式解决方案
将您的采购和销售置于同一企业级全渠道数字平台上
全渠道内置 AI 驱动、拟人化、多语言对话的聊天机器人
快速搭建在线教育平台
提供域名注册、分析和保护服务
即时部署可伸缩的虚拟云服务器
完全托管、本地部署的阿里云基础架构和服务。
阿里云开放给企业应用服务商和其客户的服务管理PaaS平台
助您构建公共云上的专有资源池
富弹性可伸缩的高性能计算服务
易用、安全、高效的云上桌面服务
高效运维、稳定安全和操作流畅的云端虚拟手机
基于GPU的弹性计算服务
可快速搭建应用且易于管理的轻量级云服务器
根据用户的业务需求和策略,自动调整其弹性计算资源的管理服务
云原生 Kubernetes 容器化应用运行环境
以 Kubernetes 为使用界面的容器服务产品,提供符合容器规范的算力资源
安全的镜像托管服务,支持全生命周期管理
多集群环境下微服务应用流量统一管理
提供任意基础设施上容器集群的统一管控,助您轻松管控分布式云场景
高弹性、高可靠的企业级无服务器 Kubernetes 容器产品
敏捷安全的 Serverless 容器运行服务
为虚拟机和容器提供高可靠性、高性能、低时延的块存储服务
一款海量、安全、低成本、高可靠的云存储服务
可靠、弹性、高性能、多共享的文件存储服务
全托管、可扩展的并行文件系统服务。
全托管的 NoSQL 结构化数据实时存储服务
可抵扣多种存储产品的容量包,兼具灵活性和长期成本优化
让您的应用跨不同可用区资源自动分配访问量
随时绑定和解绑 VPC ECS
云网络公网、跨域流量统一计费
高性价比,可抵扣按流量计费的流量费用
创建云上隔离的网络,在专有环境中运行资源
在 VPC 环境下构建公网流量的出入口
具备网络状态可视化、故障智能诊断能力的自助式网络运维服务。
安全便捷的云上服务专属连接
基于阿里云专有网络的私有 DNS 解析服务
保障在线业务不受大流量 DDoS 攻击影响
系统运维和安全审计管控平台
业务上云的第一个网络安全基础设施
集零信任内网访问、办公数据保护、终端管理等多功能于一体的办公安全管控平台
提供7X24小时安全运维平台
防御常见 Web 攻击,缓解 HTTP 泛洪攻击
实现全站 HTTPS,呈现可信的 WEB 访问
为云上应用提供符合行业标准和密码算法等级的数据加解密、签名验签和数据认证能力
一款发现、分类和保护敏感数据的安全服务
创建、控制和管理您的加密密钥
快速提高应用高可用能力服务
围绕应用和微服务的 PaaS 平台
兼容主流开源微服务生态的一站式平台
多集群环境下微服务应用流量统一管理
企业级全托管实时数据流平台
全托管,开箱即用的Apache Kafka全托管服务
提供物联网移动端和云交互的消息队列
开箱即用的全托管 RabbitMQ 服务
提供基于消息的可靠异步通信机制
应用之间的消息队列和通知
无服务器事件总线服务
Super MySQL 和 PostgreSQL,高度兼容 Oracle 语法
全托管 MySQL、PostgreSQL、SQL Server、MariaDB
兼容 Redis® 的缓存和KV数据库
兼容Apache Cassandra、Apache HBase、Elasticsearch、OpenTSDB 等多种开源接口
文档型数据库,支持副本集和分片架构
100%兼容 Apache HBase 并深度扩展,稳定、易用、低成本的NoSQL数据库。
低成本、高可用、可弹性伸缩的在线时序数据库服务
专为搜索和分析而设计,成本效益达到开源的两倍,采用最新的企业级AI搜索和AI助手功能。
一款兼容PostgreSQL协议的实时交互式分析产品
一种快速、完全托管的 TB/PB 级数据仓库
基于 Flink 为大数据行业提供解决方案
基于Qwen和其他热门模型的一站式生成式AI平台,可构建了解您业务的智能应用程
一站式机器学习平台,满足数据挖掘分析需求
高性能向量检索服务,提供低代码API和高成本效益
帮助您的应用快速构建高质量的个性化推荐服务能力
提供定制化的高品质机器翻译服务
全面的AI计算平台,满足大模型训练等高性能AI计算的算力和性能需求
具备智能会话能力的会话机器人
基于机器学习的智能图像搜索产品
基于阿里云深度学习技术,为用户提供图像分割、视频分割、文字识别等离线SDK能力,支持Android、iOS不同的适用终端。
语音识别、语音合成服务以及自学习平台
一站式智能搜索业务开发平台
助力金融企业快速搭建超低时延、高质量、稳定的行情数据服务
帮助企业快速测算和分析企业的碳排放和产品碳足迹
企业工作流程自动化,全面提高效率
金融级云原生分布式架构的一站式高可用应用研发、运维平台
eKYC 数字远程在线解决方案
可智能检测、大数据驱动的综合性反洗钱 (AML) 解决方案
阿里云APM类监控产品
实时云监控服务,确保应用及服务器平稳运行
为系统运维人员管理云基础架构提供全方位服务的云上自动化运维平台
面向您的云资源的风险检测服务
提升分布式环境下的诊断效率
日志类数据一站式服务,无需开发就能部署
ECS 预留实例
让弹性计算产品的成本和灵活性达到最佳平衡的付费方式。云原生 AI 套件
加速AI平台构建,提高资源效率和交付速度FinOps
实时分析您的云消耗并实现节约SecOps
实施细粒度安全控制DevOps
快速、安全地最大限度提高您的DevOps优势自带IP上云
自带公网 IP 地址上云全球网络互联
端到端的软件定义网络解决方案,可推动跨国企业的业务发展全球应用加速
提升面向互联网应用的性能和安全性全球互联网接入
将IDC网关迁移到云端云原生 AI 套件
加速AI平台构建,提高资源效率和交付速度FinOps
实时分析您的云消耗并实现节约SecOps
实施细粒度安全控制DevOps
快速、安全地最大限度提高您的DevOps优势金融科技云数据库解决方案
利用专为金融科技而设的云原生数据库解决方案游戏行业云数据库解决方案
提供多种成熟架构,解决所有数据问题Oracle 数据库迁移
将 Oracle 数据库顺利迁移到云原生数据库数据库迁移
加速迁移您的数据到阿里云阿里云上的数据湖
实时存储、管理和分析各种规模和类型的数据数码信贷
利用大数据和 AI 降低信贷和黑灰产风险面向企业数据技术的大数据咨询服务
帮助企业实现数据现代化并规划其数字化未来人工智能对话服务
全渠道内置 AI 驱动、拟人化、多语言对话的聊天机器人EasyDispatch 现场服务管理
为现场服务调度提供实时AI决策支持在线教育
快速搭建在线教育平台窄带高清 (HD) 转码
带宽成本降低高达 30%广电级大型赛事直播
为全球观众实时直播大型赛事,视频播放流畅不卡顿直播电商
快速轻松地搭建一站式直播购物平台用于供应链规划的Alibaba Dchain
构建和管理敏捷、智能且经济高效的供应链云胸牌
针对赛事运营的创新型凭证数字服务数字门店中的云 POS 解决方案
将所有操作整合到一个云 POS 系统中元宇宙
元宇宙是下一代互联网人工智能 (AI) 加速
利用阿里云 GPU 技术,为 AI 驱动型业务以及 AI 模型训练和推理加速DevOps
快速、安全地最大限度提高您的DevOps优势数据迁移解决方案
加速迁移您的数据到阿里云企业 IT 治理
在阿里云上构建高效可控的云环境基于日志管理的AIOps
登录到带有智能化日志管理解决方案的 AIOps 环境备份与存档
数据备份、数据存档和灾难恢复用阿里云金融服务加快创新
在云端开展业务,提升客户满意度
为全球资本市场提供安全、准确和数字化的客户体验
利用专为金融科技而设的云原生数据库解决方案
利用大数据和 AI 降低信贷和黑灰产风险
建立快速、安全的全球外汇交易平台
新零售时代下,实现传统零售业转型
利用云服务处理流量波动问题,扩展业务运营、降低成本
快速轻松地搭建一站式直播购物平台
面向大数据建设、管理及应用的全域解决方案
全渠道内置 AI 驱动、拟人化、多语言对话的聊天机器人
以数字化媒体旅程为当今的媒体市场准备就绪您的内容
带宽成本降低高达 30%
快速轻松地搭建一站式直播购物平台
为全球观众实时直播大型赛事,视频播放流畅不卡顿
使用阿里云弹性高性能计算 E-HPC 将本地渲染农场连接到云端
构建发现服务,帮助客户找到最合适的内容
保护您的媒体存档安全
通过统一的数据驱动平台提供一致的全生命周期客户服务
在钉钉上打造一个多功能的电信和数字生活平台
在线存储、共享和管理照片与文件
提供全渠道的无缝客户体验
面向中小型企业,为独立软件供应商提供可靠的IT服务
打造最快途径,助力您的新云业务扬帆起航
先进的SD-WAN平台,可实现WAN连接、实时优化并降低WAN成本
通过自动化和流程标准化实现快速事件响应
针对关键网络安全威胁提供集中可见性并进行智能安全分析
提供大容量、可靠且高度安全的企业文件传输
用智能技术数字化体育赛事
基于人工智能的低成本体育广播服务
专业的广播转码及信号分配管理服务
基于云的音视频内容引入、编辑和分发服务
在虚拟场馆中模拟关键运营任务
针对赛事运营的创新型凭证数字服务
智能和交互式赛事指南
轻松管理云端背包单元的绑定直播流
通过数据加强您的营销工作
元宇宙是下一代互联网
加速迁移您的数据到阿里云
在阿里云上建立一个安全且易扩容的环境,助力高效率且高成本效益的上云旅程
迁移到完全托管的云数据库
将 Oracle 数据库顺利迁移到云原生数据库
自带公网 IP 地址上云
利用阿里云强大的安全工具集,保障业务安全、应用程序安全、数据安全、基础设施安全和帐户安全
保护、备份和还原您的云端数据资产
MLPS 2.0 一站式合规解决方案
快速高效地将您的业务扩展到中国,同时遵守适用的当地法规
实现对 CloudOps、DevOps、SecOps、AIOps 和 FinOps 的高效、安全和透明的管理
构建您的原生云环境并高效管理集群
快速、安全地最大限度提高您的DevOps优势
实施细粒度安全控制
提供运维效率和总体系统安全性
实时分析您的云消耗并实现节约
利用生成式 AI 加速创新,创造新的业务佳绩
阿里云高性能开源大模型
探索阿里云人工智能和数据智能的所有功能、新优惠和最新产品
该体验中心提供广泛的用例和产品帮助文档,助您开始使用阿里云 AI 产品和浏览您的业务数据。
利用阿里云 GPU 技术,为 AI 驱动型业务以及 AI 模型训练和推理加速
元宇宙是下一代互联网
构建发现服务,帮助客户找到最合适的内容
全渠道内置 AI 驱动、拟人化、多语言对话的聊天机器人
实时存储、管理和分析各种规模和类型的数据
登录到带有智能化日志管理解决方案的 AIOps 环境
帮助企业实现数据现代化并规划其数字化未来
帮助零售商快速规划数字化之旅
将全球知名的 CRM 平台引入中国
在线存储、共享和管理照片与文件
构建、部署和管理高可用、高可靠、高弹性的应用程序
快速、安全地最大限度提高您的DevOps优势
将您的采购和销售置于同一企业级全渠道数字平台上
企业内大数据建设、管理和应用的一站式解决方案
帮助企业简化 IT 架构、实现商业价值、加速数字化转型的步伐
快速高效地将您的业务扩展到中国,同时遵守适用的当地法规
快速搜集、处理、分析联网设备产生的数据
0.0.201
调用BatchSetCdnDomainConfig、SetCdnDomainStagingConfig可批量配置域名功能,本文为您介绍该API可以配置哪些功能及功能参数用法。
本文中介绍的功能均能够被以下接口引用:
调用BatchSetCdnDomainConfig、SetCdnDomainStagingConfig可以实现域名的批量配置,并生成唯一的ConfigId,通过ConfigId可以实现对指定配置的更新和删除。具体使用方法,请参见ConfigId使用说明。
ipv6
功能说明:IPv6访问配置,该功能详细介绍请参见控制台配置说明IPv6配置。
功能ID(FunctionID/FuncId):194。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
switch | String | 是 | 是否开启IPv6访问:
| on |
region | String | 是 | 开启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头内容。 |
|
配置示例:
{
"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 |
scheme_origin | String | 否 | 回源类型,取值:
说明 scheme_origin不配置时,默认取值为follow。 | follow |
scheme_origin_port | String | 否 | 回源自定义端口,需要与scheme_origin参数搭配使用,取值:
| 80:443 |
配置示例一:CDN跟随客户端的请求协议回源,回源访问的端口为协议默认端口,即HTTP协议对应80端口,HTTPS协议对应443端口。
{
"Functions": [{
"functionArgs": [{
"argName": "enable",
"argValue": "on"
}, {
"argName": "scheme_origin",
"argValue": "follow"
}],
"functionName": "forward_scheme"
}],
"DomainNames": "example.com"
}
配置示例二:CDN跟随客户端的请求协议回源,回源访问的端口为自定义端口,HTTP协议对应8080端口,HTTPS协议对应443端口。
{
"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回源。注意,首次使用该功能时,需要进行默认权限策略的一键开启操作,开启后将会授予CDN产品对您同账号下OSS产品的所有Bucket的只读访问权限。该功能详细介绍请参见控制台配置说明OSS私有Bucket回源。
功能ID(FunctionID/FuncId):85。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
private_oss_auth | String | 是 | 是否开启私有Bucket回源:
功能开启以后,系统会自动配置STS安全令牌,配置更简单,但是仅支持CDN域名回源到同一个阿里云账号下的OSS私有Bucket。关于STS安全令牌更多信息,请参见什么是STS。 | on |
perm_private_oss_tbl | String | 否 | 永久安全令牌配置,配置格式是 配置了永久安全令牌以后,除了支持CDN域名回源到同一个阿里云账号下的OSS私有Bucket,还支持CDN域名回源到其他阿里云账号下的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 | 是 | 永久安全令牌配置,配置格式是 配置了永久安全令牌以后,除了支持CDN域名回源到同一个阿里云账号下的OSS私有Bucket,还支持CDN域名回源到另一个阿里云账号下的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。
功能ID(FunctionID/FuncId):114。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
enabled | String | 是 | 是否开启回源SNI功能:
| on |
https_origin_sni | String | 是 | 回源请求携带的SNI信息(即回源请求需要访问的源站地址)。 |
|
配置示例:
{
"Functions": [{
"functionArgs": [{
"argName": "https_origin_sni",
"argValue": "origin.example.com"
}, {
"argName": "enabled",
"argValue": "on"
}],
"functionName": "https_origin_sni"
}],
"DomainNames": "example.com"
}
forward_timeout
功能说明:配置回源请求超时时间,该功能详细介绍请参见控制台配置说明配置回源HTTP请求超时时间。
功能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的情况下,也属于已存在配置),则必须删除已经添加的功能配置(您可以通过调用DeleteSpecificConfig接口来删除域名的指定配置),然后才能给另一个功能添加配置。
功能ID(FunctionID/FuncId):235。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
variable_type | String | 是 | 变量类型,取值:
| 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 |
max_tries | Integer | 否 | 302跟随次数上限。
说明 回源次数-1(次)=302跟随次数,即默认的回源次数上限为3,可配置范围是[2,6]。 | 2 |
retain_args | String | 否 | 302跟随时是否保留原请求参数返回目标源:
| off |
retain_header | String | 否 | 302跟随时是否保留原请求头回目标源:
| off |
response_header | String | 否 | 302跟随响应头,表示源站给CDN的302跟随响应头的名称,该响应头名称默认为Location。 | X-Alicdn-Redirect |
retain_host | String | 否 | 302跟随保留回源域名,当开启时,表示CDN在302跟随时保留回源域名,只在跟随到目标域名时生效。可以配置的值为:
| off |
modify_host | String | 否 | 302跟随修改回源域名,表示CDN在302跟随时修改回源域名,只在跟随到目标域名时生效。默认情况下不修改回源域名。 | example.com |
cache | String | 否 | 302跟随缓存跟随结果,当开启时,表示CDN在302跟随时缓存同URL的跟随结果,提升CDN的响应性能。可以配置的值为:
| off |
expired_time | Integer | 否 | 302跟随缓存跟随结果的超时时间,表示CDN在302跟随时缓存同URL的跟随结果的超时时间,需要配合缓存功能一起使用,单位秒,默认:3600秒 | 7200 |
follow_origin_host | String | 否 | 302跟随回源host使用源站域名,当开启时,表示CDN会使用源站域名作为回源host(即使主备切换也会使用最新的源站域名)。可以配置的值为:
| off |
follow_5xx_retry_origin | String | 否 | 源站主备切换,当开启时,表示CDN如果收到源站响应的5xx状态码,会切换到下一个可用的源站。可以配置的值为:
| 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_header",
"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 |
配置示例一:添加一个回源HTTP请求头。
{
"Functions": [{
"functionArgs": [{
"argName": "value",
"argValue": "gzip"
}, {
"argName": "key",
"argValue": "Accept-Encoding"
}],
"functionName": "set_req_header"
}],
"DomainNames": "example.com"
}
配置示例二:删除一个回源HTTP请求头(将value值设置为null)。
{
"Functions":[{
"functionArgs":[{
"argName":"value",
"argValue":"null"
}, {
"argName":"key",
"argValue":"User-Agent"
}],
"functionName":"set_req_header"
}],
"DomainNames":"example.com"
}
origin_request_header
功能说明:配置回源HTTP请求头(新),该功能详细介绍请参见控制台配置说明配置回源HTTP请求头。
功能ID(FunctionID/FuncId):228。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
header_operation_type | String | 是 | 请求头操作,取值:
| add |
header_name | String | 是 | 请求头名称。 | Accept-Encoding |
header_value | String | 否 | 请求头值。一个请求头参数中可以配置多个值,多个值用英文逗号(,)分隔。 | gzip |
duplicate | String | 否 | 是否允许重复添加名称相同的请求头。当header_operation_type使用add时(即执行增加操作),需要设置是否允许重复:
| off |
header_source | String | 否 | 查找需要替换的参数值。当header_operation_type使用rewrite时(即执行替换操作),需要设置该参数,取值支持正则表达式。 | value1 |
header_destination | String | 否 | 替换后的参数值。当header_operation_type使用rewrite时(即执行替换操作),需要设置该参数。 | value123 |
match_all | String | 否 | 设置匹配模式。当header_operation_type使用rewrite时(即执行替换操作),需要设置匹配模式:
| 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 |
header_name | String | 是 | 响应头名称。 | Cache-Control |
header_value | String | 否 | 响应头值。一个响应头参数中可以配置多个值,多个值用英文逗号(,)分隔。 | no-cache |
duplicate | String | 否 | 是否允许重复添加名称相同的响应头。当header_operation_type使用add时(即执行增加操作),需要设置是否允许重复:
| off |
header_source | String | 否 | 查找需要替换的参数值。当header_operation_type使用rewrite时(即执行替换操作),需要设置该参数,取值支持正则表达式。 | value1 |
header_destination | String | 否 | 替换后的参数值。当header_operation_type使用rewrite时(即执行替换操作),需要设置该参数。 | value123 |
match_all | String | 否 | 匹配模式。当header_operation_type使用rewrite时(即执行替换操作),需要设置匹配模式:
| 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,该功能详细介绍请参见控制台配置说明重写回源URL。
功能ID(FunctionID/FuncId):225。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
source_url | String | 是 | 被重写的URI。 | ^/hello$ |
target_url | String | 是 | 重写的目标URI。 | /hello/test |
flag | String | 否 | 改写操作的执行规则,取值:
| 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 |
add_argument | String | 否 | 添加参数,优先级最高,多个参数用空格隔开。 | value=123 |
modify_argument | String | 否 | 修改参数,优先级最低,若参数被删除则不会保留,多个参数用空格隔开。 | value=321 |
enable | String | 是 | 是否开启改写回源参数:
| 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 |
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 |
common_name_whitelist | String | 否 | 证书白名单域名列表,支持配置多个域名,多个域名之间使用英文逗号(,)分隔。匹配了这些白名单域名的证书可以通过校验。 |
|
配置示例:
{
"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参数、请求头等信息来回源到指定源站。该功能详细介绍请参见控制台配置说明配置条件源站。
前提条件:在添加条件源站配置之前,您需要至少先创建一条规则引擎的规则条件,在添加条件源站配置时,您必须配置一条关联的规则条件,具体请参见规则引擎。如果添加条件源站配置时没有关联规则条件,则会使CDN回源的所有流量都指向这个唯一的源站地址(也就失去了通过规则条件来控制回源地址的意义)。
功能冲突说明:条件源站功能与高级回源功能(功能函数:advanced_origin,功能ID:235)存在冲突,只能二选其一。如果已经配置了其中一个功能(注意:如果功能函数存在功能开关配置参数,在参数被置为off的情况下,也属于已存在配置),则必须删除已经添加的功能配置(您可以通过调用DeleteSpecificConfig接口来删除域名的指定配置),然后才能给另一个功能添加配置。
功能ID(FunctionID/FuncId):212。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
ali_origin_dns_host | String | 是 | 回源查询DNS使用的域名。 |
|
配置示例:通过设置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,该功能详细介绍请参见控制台配置说明指定源站回源HOST。
功能ID(FunctionID/FuncId):242。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
origin | String | 是 | 指定源站地址(也可以不指定源站地址,不指定源站地址时,参数origin的值设置为all,代表所有源站)。 |
|
host | String | 是 | 指定HOST(也可以不指定HOST,参数host的值设置为 |
|
配置示例一:用户请求回源到源站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时,需填写 | 80 |
scheme | String | 是 | 回源协议:自定义回源协议(支持http、https、follow、https_sm、follow_sm)。
说明 国际算法指的是国际标准的加密算法,国密算法指的是中国国家密码管理局认定的国产加密算法。 | 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。
功能ID(FunctionID/FuncId):262。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
origin | String | 是 | 源站地址(也可以不指定源站地址,不指定源站地址的时候,参数origin的值设置为all)。 |
|
sni_host | String | 是 | sni host值:
|
|
keepalive_sni | String | 否 | 是否开启长连接SNI匹配:
说明 开启后,不同回源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 | 是 | 源站信息,格式为源站地址_优先级_权重_端口,不同参数值之间用下划线分隔,多个源站之间用英文逗号(,)分隔。
|
|
retry_times | Integer | 否 | 回源重试次数。 | 3 |
retry_status_rule | Integer | 否 | 回源重试状态码,目前仅支持配置以下五种:4xx、5xx、404、404-or-5xx、4xx-or-5xx,配置其中一个即可。 | 404-or-5xx |
failback_source | String | 否 | 备份使用基础源信息,取值:
| 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,则CDN节点收到404或者5xx的时候都会进行重试。
回源重试顺序:按照同一个源站组内IP地址的优先级从高到低进行重试。
回源超时场景:源站主动响应重试状态码的时候,CDN节点收到重试状态码之后就会重试。如果没有收到源站主动响应的重试状态码,则会遵循超时时间处理流程,达到超时时间之后就会触发CDN节点重试。
源站TCP建连超时:10秒。
源站写超时:30秒(源站建立建连接写入内容超时)。
源站读超时:30秒(源站建立建连接在一定时间内没有把CDN节点请求的内容完整响应回去)。
源站探测逻辑:
四层连接异常:如果CDN节点与某个源站IP四层连接失败,会把该源站IP放到一个dead table中,这样后续的回源请求就不会去访问这个源站IP;此后CDN节点会每隔5秒对该源站IP进行四层探测,如果建立建连接功,则将该源站IP恢复到可用列表中。
四层连接正常:如果CDN节点与源站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回源功能。
说明 开启IPv6回源功能后,CDN回源侧将提供IPv6服务。
| on |
follow | String | 是 | 是否开启回源跟随客户端IP协议版本功能。
说明 开启回源跟随客户端IP协议版本功能后,CDN回源将会跟随客户端请求使用的IP协议版本。
| on |
ipv6_v4_mix_used | String | 否 | 是否开启“源站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 |
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
功能说明:用于配置CDN回源OSS使用的鉴权bucket信息。
功能ID(FunctionID/FuncId):10。
注意事项:在给加速域名配置了OSS类型的源站地址之后,平台将会自动添加oss_auth配置,无需用户手动添加,也请用户注意不要误删该配置,否则会引起OSS源站无法实现对CDN回源流量的计费减免,在开启OSS私有bucket鉴权的情况下,还会导致CDN回源OSS私有bucket鉴权失败。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
oss_bucket_id | String | 是 | OSS bucket的公网域名地址。 | cdn-test.oss-cn-hongkong.aliyuncs.com |
oss_pri_buckets | String | 是 | OSS bucket的公网域名地址及其对应的bucket名称。 | cdn-test.oss-cn-hongkong.aliyuncs.com|cdn-test |
配置示例:
{
"Functions": [
{
"ArgValue": "cdn-test.oss-cn-hongkong.aliyuncs.com",
"ArgName": "oss_bucket_id"
},
{
"ArgValue": "cdn-test.oss-cn-hongkong.aliyuncs.com|cdn-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等)的时候,源站的缓存策略优先生效。可以配置的值为:
| off |
swift_no_cache_low | String | 否 | 忽略源站不缓存响应头,当开启时,表示忽略源站的以下响应头(均表示不缓存)。
可以配置的值为:
| off |
swift_follow_cachetime | String | 否 | 客户端跟随CDN缓存策略,当开启时,表示将最终生效的CDN缓存策略响应给客户端。可以配置的值为:
| 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等)的时候,源站的缓存策略优先生效。可以配置的值为:
| off |
swift_no_cache_low | String | 否 | 忽略源站不缓存响应头,当开启时,表示忽略源站的以下响应头(均表示不缓存)。
可以配置的值为:
| off |
swift_follow_cachetime | String | 否 | 客户端跟随CDN缓存策略,当开启时,表示将最终生效的CDN缓存策略响应给客户端。可以配置的值为:
| 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 | 是 | 状态码及其缓存时间,单位为秒,取值范围是1~99999999(3年多一些),多个用半角逗号(,)分隔。例如:302=0,301=0,4xx=2。 | 403=10 |
swift_origin_cache_high | String | 否 | 源站响应缓存策略优先,当开启时,表示在源站响应缓存相关头(比如Cache-Control、Pragma等)的时候,源站的缓存策略优先生效。可以配置的值为:
| off |
swift_no_cache_low | String | 否 | 忽略源站不缓存响应头,当开启时,表示忽略源站的以下响应头(均表示不缓存)。
可以配置的值为:
| off |
swift_follow_cachetime | String | 否 | 客户端跟随CDN缓存策略,当开启时,表示将最终生效的CDN缓存策略响应给客户端。可以配置的值为:
| 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等)的时候,源站的缓存策略优先生效。可以配置的值为:
| off |
swift_no_cache_low | String | 否 | 忽略源站不缓存响应头,当开启时,表示忽略源站的以下响应头(均表示不缓存)。
可以配置的值为:
| off |
swift_follow_cachetime | String | 否 | 客户端跟随CDN缓存策略,当开启时,表示将最终生效的CDN缓存策略响应给客户端。可以配置的值为:
| 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 |
duplicate | String | 否 | 是否允许重复添加名称相同的请求头。当header_operation_type使用add时(即执行增加操作),需要设置是否允许重复:
| off |
header_source | String | 否 | 查找需要替换的参数值。当header_operation_type使用rewrite时(即执行替换操作),需要设置该参数,取值支持正则表达式。 | value1 |
header_destination | String | 否 | 替换后的参数值。当header_operation_type使用rewrite时(即执行替换操作),需要设置该参数。 | value123 |
match_all | String | 否 | 设置匹配模式。当header_operation_type使用rewrite时(即执行替换操作),需要设置匹配模式:
| / |
access_origin_control | String | 否 | 是否开启跨域访问:
| / |
配置示例:
{
"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 | 是 | 重定向页面。 |
|
配置示例:
{
"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重写规则,该功能详细介绍请参见控制台配置说明重写访问URL。
功能ID(FunctionID/FuncId):43。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
regex | String | 是 | 需要重写的URI,以“/”开头,不含“http://”头及域名。支持PCRE正则表达式,例如:^/hello$。 | ^/hello$ |
replacement | String | 是 | 执行规则设置为“Break”的情况下,仅支持以/开头的Path,不含协议头和域名;执行规则设置为“Redirect”的情况下,可以包含协议头和域名。支持PCRE正则表达式,例如:常用$1、$2来捕获待改写Path中圆括号内的字符串。 | /hello/test |
flag | String | 否 | 指定CDN节点在URI改写完成之后执行的动作,取值:
说明 不同的执行规则使用的重写方式不同,重写后的URL是否支持其他域名、其他协议也存在差异:
| redirect |
rewrite_method | String | 否 | 重定向方式,支持302、303、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。
|
|
args | Array of String | 否 | 请求中的参数进行增、删、改和保留操作,然后后存为cachekey,取值:
|
|
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 | 否 | 自定义源站异常状态码。
| 502 |
extend_expiration_time | Integer | 否 | 过期延长时间。
| 60 |
origin_first | String | 否 | 源站策略优先。
| 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_option
功能说明:配置HTTPS基础参数,该功能详细介绍请参见控制台配置说明配置HTTPS证书、配置HTTP/2和配置OCSP Stapling。
功能ID(FunctionID/FuncId):78。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
http2 | String | 否 | 是否开启HTTP/2开关:
| on |
ocsp_stapling | String | 否 | 是否开启OCSP Stapling开关:
| 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的情况下,也属于已存在配置),则必须删除已经添加的功能配置(您可以通过调用DeleteSpecificConfig接口来删除域名的指定配置),然后才能给另一个功能添加配置。
功能ID(FunctionID/FuncId):45。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
enable | String | 是 | 是否开启强制HTTP跳转:
| on |
http_rewrite | String | 否 | 跳转方式,支持301、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的情况下,也属于已存在配置),则必须删除已经添加的功能配置(您可以通过调用DeleteSpecificConfig接口来删除域名的指定配置),然后才能给另外一个功能添加配置。
功能ID(FunctionID/FuncId):44。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
enable | String | 是 | 是否开启强制HTTPS跳转:
| on |
https_rewrite | String | 否 | 跳转方式,支持301、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 |
tls11 | String | 否 | 是否开启TLSv1.1:
| on |
tls12 | String | 否 | 是否开启TLSv1.2:
| on |
tls13 | String | 否 | 是否开启TLSv1.3:
| on |
ciphersuitegroup | String | 否 | 加密算法套件组:
| all |
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 |
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的情况下,也属于已存在配置),则必须删除已经添加的功能配置(您可以通过调用DeleteSpecificConfig接口来删除域名的指定配置),然后才能给另一个功能添加配置。
功能ID(FunctionID/FuncId):1。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
refer_domain_allow_list | String | 是 | 白名单列表,多个用半角逗号(,)分隔。 |
|
allow_empty | String | 否 | 是否允许空referer字段访问CDN资源。取值:
| off |
redirect_url | String | 否 | 重定向URL,即用户请求中的referer信息未匹配上白名单列表,被拦截后不会再返回403,而是会返回302加Location头,该项为Location头的值,以 http:// 或者 https:// 开头。 |
|
disable_ast | String | 否 | 使用精确匹配模式,控制“白名单列表”项中填写的域名是否为精确匹配。如果勾选(on)则精确匹配域名。
| off |
ignore_scheme | String | 否 | 开启忽略scheme。开启后,如果用户请求中的referer没有带上HTTP或HTTPS协议头部,则依然视为有效referer进行处理。示例:
| 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的情况下,也属于已存在配置),则必须删除已经添加的功能配置(您可以通过调用DeleteSpecificConfig接口来删除域名的指定配置),然后才能给另一个功能添加配置。
功能ID(FunctionID/FuncId):5。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
refer_domain_deny_list | String | 是 | 黑名单列表,多个用半角逗号(,)分隔。 |
|
allow_empty | String | 否 | 是否允许空referer字段访问CDN资源:
| off |
redirect_url | String | 否 | 重定向URL,即用户请求中的referer信息匹配上黑名单列表,被拦截后不会再返回403,而是会返回302加Location头,该项为Location头的值,以 http:// 或者 https:// 开头。 |
|
disable_ast | String | 否 | 使用精确匹配模式,控制“黑名单列表”项中填写的域名是否为精确匹配。如果勾选(on)则精确匹配。
| off |
ignore_scheme | String | 否 | 开启忽略scheme。开启后,如果用户请求中的referer没有带上HTTP或HTTPS协议头部,则依然视为有效referer进行处理。示例:
| 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 | 是 | 鉴权类型。取值:
| 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的提取方式,取值支持:
| all |
sign_param | String | 否 | 签名参数名称。仅在鉴权类型设置为F方式的时候有效。 | sign |
time_param | String | 否 | 时间戳参数名称。仅在鉴权类型设置为F方式的时候有效。 | time |
time_format | String | 否 | 时间戳格式。仅在鉴权类型设置为F方式的时候有效。
| hec |
path_encoding | String | 否 | URL编码开关,支持on/off。仅在鉴权类型设置为F方式的时候有效。 | on |
配置示例:
鉴权方式A
{
"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"
}],
"functionName": "aliauth"
}],
"domainNames": "example.com"
}
鉴权方式F
{
"Functions": [{
"functionArgs": [{
"argName": "auth_type",
"argValue": "type_f"
},{
"argName": "auth_key1",
"argValue": "1234567890123456789"
},{
"argName": "auth_key2",
"argValue": "1234567890123456789"
},{
"argName": "ali_auth_delta",
"argValue": 1800
},{
"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 |
remote_auth_addr | String | 是 | 鉴权服务器地址。格式: | 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 |
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 |
remote_auth_fail_resp_code | Integer | 是 | 鉴权失败CDN响应状态码。例如:403,CDN传给用户的状态码。 | 403 |
remote_auth_timeout | Integer | 是 | 鉴权超时配置,单位ms,最大值为3000。 | 500 |
remote_auth_timeout_action | String | 是 | 鉴权超时行为,取值:
| 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的情况下,也属于已存在配置),则必须删除已经添加的功能配置(您可以通过调用DeleteSpecificConfig接口来删除域名的指定配置),然后才能给另一个功能添加配置。
功能ID(FunctionID/FuncId):69。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
ip_list | String | 是 | IP列表,多个用半角逗号(,)分隔。 | 192.168.0.1/24 |
ip_acl_xfwd | String | 否 | 使用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的情况下,也属于已存在配置),则必须删除已经添加的功能配置(您可以通过调用DeleteSpecificConfig接口来删除域名的指定配置),然后才能给另一个功能添加配置。
功能ID(FunctionID/FuncId):13。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
ip_list | String | 是 | IP列表,多个用半角逗号(,)分隔。 | 192.168.0.1 |
ip_acl_xfwd | String | 否 | 使用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限制访问,该功能详细介绍请参见控制台配置说明配置UA黑白名单。
功能ID(FunctionID/FuncId):58。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
ua | String | 是 | 填写User-Agent,支持通配符*(匹配任意字符串)和多个值(多个值用|分割。例如: | *curl*|*IE*|*chrome*|*firefox* |
type | String | 是 | 名单类型,取值:
说明 黑、白名单互斥,同一时间只支持其中一种方式生效。 | 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 |
trim_js | String | 否 | 是否优化HTML中内嵌的JS代码:
| off |
trim_css | String | 否 | 是否优化HTML中内嵌的CSS代码:
| 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 |
配置示例:
{
"Functions": [{
"functionArgs": [{
"argName": "enable",
"argValue": "on"
}],
"functionName": "gzip"
}],
"DomainNames": "example.com"
}
brotli
功能说明:配置页面Brotli压缩,该功能详细介绍请参见控制台配置说明Brotli压缩。
功能ID(FunctionID/FuncId):97。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
enable | String | 是 | 是否开启页面Brotli压缩:
| on |
配置示例:
{
"Functions": [{
"functionArgs": [{
"argName": "enable",
"argValue": "on"
}],
"functionName": "brotli"
}],
"DomainNames": "example.com"
}
set_hashkey_args
功能说明:配置忽略URL参数(保留),该功能详细介绍请参见控制台配置说明忽略参数。
功能冲突说明:忽略URL参数(保留)功能与忽略URL参数(删除)功能(功能函数:ali_remove_args,功能ID:75)存在冲突,只能二选其一。如果已经配置了其中一个功能(注意:如果功能函数存在功能开关配置参数,在参数被置为off的情况下,也属于已存在配置),则必须删除已经添加的功能配置(您可以通过调用DeleteSpecificConfig接口来删除域名的指定配置),然后才能给另一个功能添加配置。
功能ID(FunctionID/FuncId):19。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
hashkey_args | String | 否 | 保留参数列表,多个用半角逗号(,)分隔,最多支持填写10个。 | key1,key2 |
disable | String | 是 | 是否忽略所有参数:
说明 缓存hashkey忽略所有参数,优先级低于保留缓存参数列表功能。 | on |
keep_oss_args | String | 是 | 是否保留回源参数:
| 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的情况下,也属于已存在配置),则必须删除已经添加的功能配置(您可以通过调用DeleteSpecificConfig接口来删除域名的指定配置),然后才能给另一个功能添加配置。
功能ID(FunctionID/FuncId):75。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
ali_remove_args | String | 是 | 删除指定的参数,多个参数之间用空格隔开。 说明 剩余参数将作为hashkey中URL args部分。 | test |
keep_oss_args | String | 是 | 回源是否保留参数:
| off |
配置示例:
{
"Functions": [{
"functionArgs": [{
"argName": "ali_remove_args",
"argValue": "test"
}, {
"argName": "keep_oss_args",
"argValue": "off"
}],
"functionName": "ali_remove_args"
}],
"DomainNames": "example.com"
}
image_transform
功能说明:配置CDN图片转换,该功能详细介绍请参见控制台配置说明图片处理概述。
功能ID(FunctionID/FuncId):239。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
enable | String | 是 | 是否开启图片转换:
| on |
filetype | String | 是 | 支持转码的图片格式,以竖线分割符号分隔。支持以下参数值:
| jpg|jpeg|png |
webp | String | 否 | 是否开启自适应转换WEBP:
| on |
orient | String | 否 | 是否开启图片自旋转:
说明 只对有自旋转属性的图片生效。 | 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 |
配置示例:
{
"Functions": [{
"functionArgs": [{
"argName": "enable",
"argValue": "on"
}],
"functionName": "range"
}],
"DomainNames": "example.com"
}
video_seek
功能说明:配置视频拖拽播放,该功能详细介绍请参见控制台配置说明配置拖拽播放。
功能ID(FunctionID/FuncId):30。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
enable | String | 是 | 是否开启视频拖拽播放:
| on |
flv_seek_by_time | String | 否 | 是否开启FLV按时间拖拽:
| 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 |
配置示例:
{
"Functions": [{
"functionArgs": [{
"argName": "enable",
"argValue": "on"
}],
"functionName": "ali_video_split"
}],
"DomainNames": "example.com"
}
ali_video_preview
功能说明:配置视频试看,该功能详细介绍请参见控制台配置说明配置音视频试看。
功能ID(FunctionID/FuncId):205。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
enable | String | 是 | 是否开启视频试看:
说明 支持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标准加密改写,该功能详细介绍请参见控制台配置说明配置M3U8标准加密改写。
功能ID(FunctionID/FuncId):253。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
enable | String | 是 | 是否开启M3U8标准加密改写:
| on |
hls_token_arg_name | String | 否 | 自定义hls token的参数名称。如果不设置,使用MtsHlsUriToken作为自定义参数名。 | example |
配置示例:
{
"Functions": [{
"functionArgs": [{
"argName": "enable",
"argValue": "on"
}],
"functionName": "hls_token_rewrite"
}],
"DomainNames": "example.com",
}
tmd_signature
功能说明:配置频次控制自定义规则,该功能详细介绍请参见控制台配置说明配置频次控制。
功能ID(FunctionID/FuncId):96。
ddos_domain
功能说明:DDoS防护调度,该功能详细介绍请参见控制台配置说明配置CDN联动DDoS高防。
功能ID(FunctionID/FuncId):209。
ali_location
功能说明:配置区域封禁,该功能详细介绍请参见控制台配置说明区域封禁。
功能ID(FunctionID/FuncId):57。
allowed_crawlers
threat_intelligence
intelligent_algorithm
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来执行。 |
|
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"
}
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 |
name | String | 是 | 规则名称,仅支持英文字母和下划线(_)。 | test |
pos | String | 否 | 规则执行位置,取值:
| head |
brk | String | 否 | 中断执行,取值:
| off |
option | String | 否 | 扩展字段。 | 空 |
grammar | String | 否 | 规则语法,取值:es2(默认值)和js。 | / |
jsmode | String | 否 | JS执行模式,取值:
| / |
配置示例:
{
"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
condition
功能说明:规则引擎,该功能能够使用图形化的方式来配置各种条件规则。条件规则支持对用户请求中携带的各种参数信息进行识别,以此来决定某个配置是否对该请求生效,可用于更加灵活、更加精确地控制CDN的各种配置策略的执行效果。该功能详细介绍请参见控制台配置说明规则引擎。
功能ID(FunctionID/FuncId):250。
该功能需要申请再开通,您需要提交工单申请开通该功能。
参数说明:
参数 | 类型 | 是否必选 | 描述 | 示例值 |
rule | Array | 是 | 规则条件的具体内容,包括名称、状态、逻辑判断、条件表达式。 | 规则条件内容:
实现效果:
|
条件表达式的格式(即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"
}
创建完成的规则引擎配置,可以供其他功能配置时关联引用(当前支持引用规则引擎配置的功能列表请参见规则引擎),以实现更加灵活、更加精确地控制CDN各种配置策略的执行效果。例如:条件源站功能(功能函数是origin_dns_host)的配置就可以关联引用规则引擎的配置,配置示例可以参见origin_dns_host。
注意事项:
其他功能在关联引用规则引擎配置的时候,需要通过设置parentid来引用已经使用规则引擎功能创建好的某个规则条件,这里的parentid等于添加规则引擎配置时生成的configid。
功能函数是condition(规则引擎)的时候,不支持设置parentId参数。
quic
功能说明:QUIC基础参数,该功能详细介绍请参见控制台配置说明配置QUIC协议。
功能ID(FunctionID/FuncId):281。
参数说明:
参数 | 类型 | 是否必填 | 描述 | 示例值 |
iquic_enable | String | 是 | 是否开启QUIC协议:
|
|
配置示例
{
"Functions": [{
"functionArgs": [{
"argName": "iquic_enable",
"argValue": "on"
}],
"functionName": "iquic"
}],
"DomainNames": "example.com"
}