CDN加速

文档中心 API文档 域名配置 修改域名内部重定向配置

修改域名内部重定向配置

更新时间:2021-06-29 17:59:37

适用产品:网页加速、下载加速、全站加速、点播加速、直播加速、移动加速、云存储

接口描述

通过接口自助实现,url重定向功能

  • 调用URL: https://open.chinanetcenter.com/api/config/InnerRedirect/*
  • 限制说明:· 加速域名必须已备案完成。 · 加速域名必须不包含如下信息:出售药物和管制刀具类,含有不法言论、信息。 · 视频类加速域名必须有视听许可证;博客论坛或社区类加速域名必须有BBS专项审批资质。 · 接口请求和返回结果接受xml和json格式。
  • 调用频率:300/5min

请求参数

XML
参数名称类型必填描述
rewrite-rule-settingscomplex一级服务改写替换—二级服务 内部重定向 注意: 1、定义一组内部重定向内容,,如果有使用内部重定向内容,此项必填 2、需要清空域名下的内容重定向内容,可以传入空节点<rewrite-rule-settings></rewrite-rule-settings> 3、如果有开启其他高级配置(如防盗链配置),有些配置可能会有配置冲突,建议先与技术支持人员确认
rewrite-rule-settingcomplex内部重定向 注意: 1、定义一组内部重定向内容 2、当其他配置项都是没有入参时,data-id必填,且值为实际存在的data-id,表示清空这个data-id对应配置项的值
data-idString添加grid类型标识,表示客户多组配置时,具体某组配置;data-id重复,已入参同个id最后一组为准生效 data-id可以通过查询接口获取。 注意:添加grid类型标识:data-id,每一组配置对应一个data-id: a、如果客户有传data-id,说明指定修改其中一组配置项内容,不需求修改其他组配置内容不需要入参; b、如果客户入参多组配置,其中有些组配置有传data-id,有些没有传,则有传data-id的表示修改具体某组配置,没有传data-id的表示在原来基础上新增一组配置; c、如果客户入参都没有传data-id,表示用本次的配置全量覆盖原先配置; d、如果客户入参没有传任何配置项参数,只传了域名和二级标签,表示清空这个接口对应域名二级服务所有配置。(c、d内容和当前方案实现一致); e、一个gird标签下的入参不能为空,如果,没有具体的配置项,则data-id必填,且值为实际存在的data-id,表示清空这个data-id对应配置项的值;
path-patternStringurl匹配模式,支持正则,客户入参参考:.* 对于匹配到的URL进行内容重定向
except-path-patternString例外的url匹配模式,某些URL除外:如abc.jpg,不做内容重定向 客户入参参考:^https?://[^/]+/.*\.m3u8
ignore-letter-caseString忽略大小写,可选值为true或false,true表示忽略大小写;false表示不忽略大小写; 新增配置项时,不传默认为 true 如果客户传了空值:如<ignore-letter-case></ignore-letter-case>,则表示清空配置
publish-typeString改写内容的生成位置。可输入值为:Cache表示节点; 暂不支持其他入参格式
priorityint表示客户多组重定向内容的优先执行顺序。数字越大,优先级越高。 新增配置项时,不传默认为 10
before-valueString配置项:旧url 表示改写前的协议方式(即需要改写的对象),如:^https://([^/]+/.*) 如果是回源协议改写,则表示客户请求的原始url,配套的参数after-value,表示客户请求需要转换的回源请求。
after-valueString配置项:新url 表示改写后的协议方式,如:http://$1 如果请求重定向带状态码则参考入参:301:https://$1 注:如果url含域名,则域名需要是本身。
rewrite-typeString重定向类型;支持入参: before:防盗链之前 after:防盗链之后

返回参数

XML&JSON
参数名称类型描述
http status codeinthttpstatus=202;   表示成功调用新增域名接口,可使用header中的x-cnc-request-id查看当前新增域名的部署情况
x-cnc-request-idString唯一标示的id,用于查询每次请求的任务 (适用全部接口)
codeString错误代码,当HTTPStatus不为202时出现,表示当前请求调用的错误类型
messageString响应信息,成功时为success

错误码

错误代码(code)描述(message)HTTP状态码语义
InvalidParameterThe url-pattern can't be empty.400url-pattern不能为空
InvalidParameterThe publish-type can't be empty.400publish-type不能为空
InvalidParameterThe before-value can't be empty.400before-value值不能为空
InvalidParameterThe after-value can't be empty.400after-value值不能为空
InvalidParameterThe rewrite-type can't be empty.400rewrite-type值不能为空
InvalidParameterNo rewrite-rule-settings was specified.400未指定重写规则
InvalidParameterNo domain was specified.400未指定域名
InvalidParameterThe ignore-letter-case is invalid.400ignore-letter-case无效
InvalidParameterThe publish-type is invalid.400publish-type无效
InvalidParameterThe priority is invalid.400优先级无效
InvalidParameterThe rewrite-type is invalid.400rewrite-type无效
InvalidParameterThe path-pattern is required.400path-pattern无效
InvalidParameterThe publish-type is required.400publish-type无效
InvalidParameterThe before-value is required.400before-value必填
InvalidParameterThe after-value is required.400after-value必填
InvalidParameterThe rewrite-type is required.400rewrite-type必填
InvalidParameterThe request has null config with null data-id, please remove it.400未指定重写规则。请求的配置为空,数据ID为空,请将其删除。
NoSuchDomainThe specified domain does not exist.404指定域名不存在
InternalErrorWe encountered an internal error. Please try again.500遇到内部错误,请重试。
ConfigErrorThe config {0} does not access.400某个配置无法访问
CustomerNoOwnDomaincustomer not own domain name.400不是客户的域名
WrongDataIdWrong data-id.400错误的dataid

示例

JSON
XML
示例说明
请求示例
复制
#!/bin/bash
username="example_username"
apiKey="example_apiKey"
date=`env LANG="en_US.UTF-8" date -u "+%a, %d %b %Y %H:%M:%S GMT"`
password=`echo -en "$date" | openssl dgst -sha1 -hmac $apiKey -binary | openssl enc -base64`
curl -i --url "https://open.chinanetcenter.com/api/config/InnerRedirect/123344" \
-X "PUT" \
-u "$username:$password" \
-H "Date: $date" \
-H "Accept: application/json" \
-H "Content-Type:application/json" \
-d '{
    "rewrite-rule-settings": [
        {
            "data-id": "31506537", 
            "path-pattern": ".*", 
            "except-path-pattern": "^https?://[^/]+/.*.m3u8", 
            "ignore-letter-case": "true", 
            "publish-type": "Cache", 
            "priority": "10", 
            "before-value": "^http://([^/]+/.*)", 
            "after-value": "https://$1", 
            "rewrite-type": "before"
        }, 
        {
            "path-pattern": ".*", 
            "except-path-pattern": "^https?://[^/]+/.*.m3u8", 
            "ignore-letter-case": "true", 
            "publish-type": "Cache", 
            "priority": "9", 
            "before-value": "http", 
            "after-value": "https", 
            "rewrite-type": "before"
        }
    ]
}'
返回示例
复制
HTTP/1.1 202 Accepted
Date: Fri, 17 May 2017 06:33:26 GMT
Content-Type: application/json;charset=utf-8
x-cnc-request-id:c54cbbb4-19fe-407a-930c-3988b62ed2fd
{"message":"success"}