CDN加速

文档中心 API文档 域名配置 预部署域名内部重定向配置

预部署域名内部重定向配置

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

适用产品:应用安全加速解决方案、IPv6一体化解决方案、电商安全加速解决方案、金融安全加速解决方案、政企安全加速解决方案、应用安全解决方案、区块链安全加速解决方案、IPv6安全加速解决方案、点播分发、直播分发、移动加速、网页加速、下载分发、全站加速

接口描述

查看内部重定向配置

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

请求参数

XML
参数名称类型必填描述
rewrite-rule-settingscomplex一级服务改写替换—二级服务 内部重定向 注意: 1、定义一组内部重定向内容,,如果有使用内部重定向内容,此项必填 2、需要清空域名下的内容重定向内容,可以传入空节点<rewrite-rule-settings></rewrite-rule-settings>
rewrite-rule-settingcomplex内部重定向 注意: 1、定义一组内部重定向内容 2、当其他配置项都是没有入参时,data-id必填,且值为实际存在的data-id,表示清空这个data-id对应配置项的值
data-idString添加grid类型标识,表示客户多组配置时,具体某组配置;data-id重复,已入参同个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
rewrite-typeString重定向类型;支持入参: before:防盗链之前 after:防盗链之后

返回参数

PRE-DEPLOYMENT TASK ID
参数名称类型描述
preDeployIdString预部署任务的id,可以根据这个id查询预部署的进展和结果

错误码

错误代码(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/predeploy/InnerRedirect/a1.example.com" \
-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 OK 
Server: openresty/1.11.2.2
Date: Thu, 14 Mar 2019 08:09:45 GMT
Content-Type: application/json;charset=utf-8
Content-Length: 31
Connection: keep-alive
App-Name: service_confApi
x-cnc-request-id: 86f908a5-3e45-4be3

{"preDeployId":"66201667e7424820b9e359671178757c"}