文档
测试

产品配置

POST
http:/domain/api/front/product/edit

请求头

参数名
类型
描述
必填
Content-Type:application/json
sring
必填
Authorization
string
例如:Bearer token值
必填

请求参数

参数名
类型
描述
必填
func
string
请求方法名
必填
pid
int
产品id
必填

说明 / 示例

产品配置请求方法: //防盗链 CheckReferer = false ,是否开启防盗链,默认false PassEmptyReferer = false,放行浏览器,默认false RefererRegex = 1234 ,URL正则表达式,可为空,黑名单机制(屏蔽填写的域名) RefererRules= ["1","2"], 白名单机制(放行所填的域名) ``` { "func": "referer", "pid":2, "security":{ "CheckReferer":true, "PassEmptyReferer":true, "RefererRegex":"1234", "RefererRules":[ "1","2","4" ] } } ``` //缓存类型 cacheType = html|js|css|jpg ...多个文件类型以竖杠“|”分割 ``` { "func": "cacheType", "pid":2, "cache":{ "cacheType":"html|js|css|jpg" } } ``` //缓存时间 cacheTimeout = 2000,单位秒 useRespMaxAge = false, 缓存时间跟随源,如果源站设置了对应后缀的缓存时间,则cdn对该后缀缓存时间走源的设置。默认false。 ``` { "func": "cacheTimeout", "pid":2, "cache":{ "cacheTimeout":2000, "useRespMaxAge":true } } ``` //回源带宽 cacheLimit = 100 ,单位MB cacheLimitTTL = 1, 每多少秒 ``` { "func": "cacheLimit", "pid":2, "security":{ "cacheLimit":100, "cacheLimitTTL":1 } } ``` //强制关闭所有缓存 closeCache = false ,强制关闭所有缓存,也包括智能缓存,针对所有的API特殊需求的系统,防止缓存影响系统。默认false。 ``` { "func": "closeCache", "pid":2, "cache":{ "closeCache":true } } ``` //关闭源站GZIP请求 closeSrcGzip = false,关闭源站GZIP请求,该选项会让请求变成默认,仅限针对特殊情况的请求,例如API,这个选项即不往源站发送Encode:gzip,源站返回的也是默认明文。默认false,不关闭。 ``` { "func": "closeSrcGzip", "pid":2, "security":{ "closeSrcGzip":true } } ``` //强制缓存 clearPath = false,资源缓存时去除 URL「?」后的全部参数进行缓存,默认false。 ``` { "func": "clearPath", "pid":2, "security":{ "clearPath":false } } ``` //缓存清理 ``` { "func": "pureCache", "pid":2 } ``` //流量缓冲 closeBuffering = false, 关闭流量缓冲默认false = 流量缓冲默认是开启状态 ``` { "func": "closeBuffering", "pid":2, "closeBuffering":false } ``` //防御等级 ``` { "func": "guardlevel", "pid":2, "security":{ "guardlevel":2 } } ``` //js盾防御 jsGuard = 2 开启 0-关闭 ``` { "func": "jsGuard", "pid":2, "security":{ "jsGuard":2 } } ``` //验证码防御 useCaptcha 1=开启 -1 关闭 ``` { "func": "useCaptcha", "pid":2, "security":{ "useCaptcha":1 } } ``` //Hsts lockHSTS = false,强制使用https与服务器创建连接,默认false ``` { "func": "lockHSTS", "pid":2, "lockHSTS":true } ``` //强制跳转 lockHttps = false ,默认false关闭 ``` { "func": "lockHttps", "pid":2, "lockHttps":false } ``` //长连接 keepaliveTime = 600 ,该数值必须在10-600之间,仅用于HTTP,WEBSOCKET非HTTP协议超时时间已设置默认为600秒 ``` { "func": "keepaliveTime", "pid":2, "keepaliveTime":600 } ``` //User-Agent屏蔽, UserAgentAction 0-仅预警 1-仅拦截 3-IP拉入黑名单 isBanEmptyUA 屏蔽空UA -1=关闭 1=开启 UserAgent 模糊匹配 如:屏蔽非英文ua正則(模糊匹配添加上这个正则会屏蔽掉英文以外其他文字的ua访问):[^a-zA-Z\s0-9\.\/\(\)\,\;]+ matchUserAgnet 精准匹配 ``` { "func": "UserAgent", "pid":2, "security":{ "UserAgentAction":1, "UserAgent":[ "1", "2" ], "matchUserAgnet":[ "2", "3" ], "isBanEmptyUA":1 } } ``` //区域屏蔽 banArea_states 开关状态 banArea 屏蔽的地区 ``` { "func": "banArea", "pid":2, "security":{ "banArea_states":true, "banArea":[ "中国", "中非共和国" ] } } ``` //URL白名单 ``` { "func": "whiteurl", "pid":2, "security":{ "whiteurl":[ "/url1", "/url2" ] } } ``` //URL黑名单 ``` { "func": "blackurl", "pid":2, "security":{ "blackurl":[ "/url1", "/url2" ] } } ``` //触发防御频率 badReqOnSec 普通频率 每2秒异常请求数量5~1000 STBadReqOnSec 基站频率 每2秒异常请求数量5~1000 ``` { "func": "badReq", "pid":2, "security":{ "badReqOnSec":100, "STBadReqOnSec":100 } } ``` //同IP访问限制 IPLimitAction 0-仅预警 1-仅拦截 2-弹出验证码(失败拉黑) 3-IP拉入黑名单 ipLimit 普通IP 每2秒异常请求数量5~1000 STIpLimit 基站IP 每2秒异常请求数量5~1000 ``` { "func":"ipLimit", "pid":2, "security":{ "IPLimitAction":1, "ipLimit":100, "STIpLimit":100 } } ``` //白名单IP访问限制 WhiteIPAction 0-仅预警 1-仅拦截 2-弹出验证码(失败拉黑) 3-IP拉入黑名单 WhiteIPLimit 请求不同URL次数 IP过白后访问限制,每秒单个IP同时请求不同URL(资源)次数5~10000,该数值设置太低会导致频繁误封报错,建议大于100 WhiteBadReqOnSec 请求同一URL次数 IP过白后访问限制,每2秒单个IP请求同一URL(资源)或者顺序请求中相同地址包含过多,次数5~10000,该数值设置太低会导致频繁误封报错,建议大于150 ``` { "func":"WhiteIPLimit", "pid":2, "security":{ "IPLimitAction":0, "WhiteIPLimit":100, "WhiteBadReqOnSec":100 } } ``` //白名单IP单个URL访问限制 URLAction 0-仅预警 1-仅拦截 2-弹出验证码(失败拉黑) 3-IP拉入黑名单 URLLimit IP过白后访问限制,每多少秒单个IP请求设置都URL次数5~10000 URLLimitTTL 搭配URLLimit ,多少秒内 UrlPathRegex URL地址,如:/test/a.html ``` { "func": "WhiteUrlLimit", "pid":2, "security": { "WhiteUrlLimit": [{ "URLAction": 1, "URLLimit": 10, "URLLimitTTL": 2, "UrlPathRegex": "string1" }, { "URLAction": 1, "URLLimit": 10, "URLLimitTTL": 2, "UrlPathRegex": "string2" } ] } } ``` //////以下不存在 //旧网站兼容 openCSPCheat = false,默认不开启 ``` { "func": "openCSPCheat", "pid":2, "openCSPCheat":false } ``` //自定义header //目前支持宏为:$host$ = 来源host信息, $remoteAddr$ = 请求客户端IP, $version$ = 当前CDN版本号和信息 ``` { "func": "proxyHeader", "pid":2, "proxyHeader": [{ "header": "X-Tenant-Forward-For1", "value": "$remoteAddr$" }, { "header": "X-Tenant-Forward-For2", "value": "$remoteAddr$" } ] } ``` //强制返回关闭CLOSE forceClose= -1 不开启 1 开启 ,默认不开启 ``` { "func": "forceClose", "pid":2, "security":{ "forceClose":-1 } } ``` //关闭防火墙 stopWaf = false = 不关闭,默认不关闭 ,ture = 关闭 ``` { "func": "stopWaf", "subhost":"1.com", "security":{ "stopWaf":false } } ``` //缓存206和ranges数据 cacheRanges = -1 关闭 1-开启,默认关闭 源站本身必须支持206或RANGES下载,开启后可能产生多个RANGES记录。如果每次RANGES不同,可能还会回源。 ``` { "func": "cacheRanges", "pid":2, "cache":{ "cacheRanges":-1 } } ``` //自定义头部host proxyHost = www.1.com ``` { "func": "proxyHost ", "pid":2, "proxyHost": "www.1.com" } ``` //跨域 openCORS = -1 关闭 1-开启 ,默认关闭 AllowCredentials = false,是否响应头暴露给页面,默认false MaxAge = 60 预检结果缓存周期(秒) ``` { "func": "corsConf", "pid":2, "security": { "corsConf": { "AllowCredentials": true, "AllowHeaders": "x-requested-with,content-type,Cache-Control,Pragma,Date,x-timestamp", "AllowMethods": "GET,HEAD,POST,PUT", "AllowOrigin": "*", "ExposeHeaders": "WWW-Authenticate,Server-Authorization", "MaxAge": 60, "openCORS": 1 } } } ``` //智能缓存 closeAutoCache = false,关闭智能缓存,默认开启 ``` { "func": "closeAutoCache", "pid":2, "cache": { "closeAutoCache": true } } ``` //UA高频率访问的限制 UABadReqAction 0-仅预警 1-仅拦截 2-弹出验证码(失败拉黑) 3-IP拉入黑名单 uaBadReqOnSec = 100 普通频率 每2秒异常请求数量5~10000 STUABadReqOnSec = 500 基站频率 每2秒异常请求数量5~10000 限制方式为相同路径为13个,连续路径为10个,开始计算攻击,,此时开始走限制的频率。相同13个是说,比如20次访问里面,13个是相同的,即便你不是连续的,而连续10次是说,这10次UA都一样。 相同路径为13个,连续路径为10个,开始计算攻击,依次递增,就是说第13,14,15次 = 第1,2,3次(前面13次和10次是基础值,目的是为了防止误封) ``` { "func": "UABadReqLimit", "pid":2, "security": { "UABadReqAction": 1, "uaBadReqOnSec":100, "STUABadReqOnSec":500 } } ``` 返回参数示例: ``` { "code": 1, "msg": "success", "data": [] } ```