设置域名条件配置接口
更新时间:2025-12-16
接口
本接口用于设置域名的条件配置项。此域名必须是本用户的,否则会返回404失败。
请求接口
| Method | Path | 说明 |
|---|---|---|
| PUT | /v2/domain/{domain}/config?pageRules_{value} | 设置域名的条件配置项。 其中 {value} 是个变量,当前支持的值为: • originConfig:源站; • cacheFullUrl:缓存参数过滤规则。 完整的合法值为: • pageRules_originConfig; • pageRules_cacheFullUrl。 |
请求体
| 参数 | 类型 | 可选 | 说明 |
|---|---|---|---|
| pageRules_{value} | PageRule[] | 必选 | 设置域名的条件配置项。最多允许设置 10 个 PageRule。 |
PageRule 类型说明
| 参数 | 类型 | 可选 | 说明 |
|---|---|---|---|
| matchRules | MatchRule[] | 必选 | 匹配规则集合,是一个数组,当 n 条规则全部匹配成功时视为该 PageRule 匹配成功。 最多允许设置 5 个 MatchRule。 通配符仅支持 '*'。 |
| config | Object | 必选 | 条件配置暂时只支持两个配置项,分别为源站配置和缓存参数过滤规则配置。 |
MatchRule 类型说明
| 参数 | 类型 | 可选 | 说明 |
|---|---|---|---|
| target | String | 必选 | 匹配的目标,有 4 类方式: 1. url:请求路径匹配; 2. suffix:请求资源扩展名匹配; 3. directory:请求路径目录匹配(即前缀匹配); 4. header:请求头匹配。 当 target 为 header 时,headerValues 参数必须有效;否则,pathValues 必须有效。 注: “有效” 指的是对应字段的必须存在且元素个数大于 0。 当配置项为源站配置时,支持上述四类匹配目标。 当配置项为缓存参数过滤规则配置时,只支持 url、suffix、directory三类匹配目标。 |
| modifier | String | 可选 | 该配置项表示匹配的目标与匹配值之间的匹配规则,匹配值可分为 headerValues 和 pathValues。 该配置项默认值为空,即"",可理解为目标等于或包含匹配值。 其余可选值为三类,分别为: • "!":表示目标不等于或不包含匹配值; • "~":表示目标忽略匹配值的大小写; • "!~":表示不等于或不包含匹配值,并且忽略匹配值的大小写。 注: 当配置项为源站配置时,支持上述四类匹配规则。 当配置项为缓存参数过滤规则配置时,支持两类匹配规则,默认值""和忽略匹配值的大小写"~"。 |
| headerValues | map[string]string[] | 可选 | 当匹配目标为 header 时,该项为匹配值。其他匹配目标,不必传该项。 其类型是一个 map,map key 为 string,map value 为 string 数组。匹配目标为 header 时,必选。 每个 headerValues 最多只能有 1 个 header 键值对,且 key 和 value 的长度最大都为 200 字符。 举例: { "headerValues": { "user-agent": [ "ios", "android" ] } } 注: 当配置项为缓存参数过滤规则配置时,不支持此项。 |
| pathValues | String[] | 可选 | 字符串数组格式。 当匹配目标为 url 、suffix 、 directory 时,该项为匹配值。其他匹配目标,不必传该项。 • 当匹配目标为 url 时,以'/'开头,不含 http(s):// 头和域名,支持'*'通配符。 • 当匹配目标为 suffix 时,以'.'开头,如'.jpg'。 • 当匹配目标为 directory 时,以'/'开头,不支持'/'匹配全部文件。 |
Object 类型说明
1.当配置项为源站时,可参考设置回源地址中的源站配置项。
2.当配置项为缓存参数过滤规则配置时,可参考设置缓存参数过滤规则中的缓存参数过滤规则配置项。
响应码
| HTTP Status Code | 说明 |
|---|---|
| 200 | 设置条件配置项成功 |
| 其他错误码 | 配置参数错误 |
响应体
| 参数 | 类型 | 说明 |
|---|---|---|
| status | String | 表示修改该配置的状态。设置配置成功,其值为“RUNNING”。否则返回报错信息。 |
请求示例1:设置条件源站配置
Plain Text
1PUT /v2/domain/myself.baidu.com/config?pageRules_originConfig HTTP/1.1
2Host: cdn.baidubce.com
3
4{
5 "pageRules_originConfig": [
6 {
7 "matchRules": [
8 {
9 "target": "suffix",
10 "modifier": "",
11 "pathValues": [
12 ".mp4",
13 ".flv"
14 ]
15 },
16 {
17 "target": "header",
18 "modifier": "!",
19 "headerValues": {
20 "user-agent": ["android"]
21 }
22 }
23 ],
24 "config": {
25 "originConfig": [
26 {
27 "type": "DOMAIN",
28 "addr": "video.test.com",
29 "httpPort": 8088
30 }
31 ]
32 }
33 },
34 {
35 "matchRules": [
36 {
37 "target": "directory",
38 "modifier": "~",
39 "pathValues": [
40 "/autio",
41 "/music"
42 ]
43 },
44 {
45 "target": "header",
46 "modifier": "!~",
47 "headerValues": {
48 "user-agent": ["android"]
49 }
50 }
51 ],
52 "config": {
53 "originConfig": [
54 {
55 "type": "DOMAIN",
56 "addr": "audio.test.com",
57 "httpPort": 8000
58 }
59 ]
60 }
61 }
62 ]
63}
请求示例2:设置条件缓存参数规则配置
Plain Text
1PUT /v2/domain/myself.baidu.com/config?pageRules_cacheFullUrl HTTP/1.1
2Host: cdn.baidubce.com
3
4{
5 "pageRules_cacheFullUrl": [
6 {
7 "matchRules": [
8 {
9 "modifier": "",
10 "target": "url",
11 "pathValues": [
12 "/test"
13 ]
14 }
15 ],
16 "config": {
17 "cacheFullUrl": false,
18 "cacheUrlArgs": [
19 "a"
20 ]
21 }
22 },
23 {
24 "matchRules": [
25 {
26 "modifier": "",
27 "target": "url",
28 "pathValues": [
29 "/test"
30 ]
31 }
32 ],
33 "config": {
34 "cacheFullUrl": false,
35 "ignoreUrlArgs": [
36 "b"
37 ]
38 }
39 }
40 ]
41}
响应示例
Plain Text
1HTTP/1.1 200 OK
2Server: nginx/1.16.1
3Content-Type: application/json; charset=utf-8
4Transfer-Encoding: chunked
5Connection: keep-alive
6
7{
8 "status": "RUNNING"
9}
查看条件配置
如您想查看域名的条件配置,可通过查询加速域名详情接口进行查看。
正常源站配置
Plain Text
1{
2 "originConfig": [
3 {
4 "addr": "test1.com",
5 "type": "DOMAIN",
6 "weight": 10,
7 "upstreamProtocol": "http",
8 "host": "test1.baidu.com",
9 "backup": false
10 }
11 ]
12}
条件源站配置
Plain Text
1{
2 "originConfig": [
3 {
4 "addr": "test1.com",
5 "type": "DOMAIN",
6 "weight": 10,
7 "upstreamProtocol": "http",
8 "host": "test1.baidu.com",
9 "backup": false
10 }
11 ],
12 "pageRules_originConfig": [
13 {
14 "matchRules": [
15 {
16 "target": "suffix",
17 "modifier": "",
18 "pathValues": [
19 ".mp4",
20 ".flv"
21 ]
22 },
23 {
24 "target": "header",
25 "modifier": "!",
26 "headerValues": {
27 "user-agent": ["android"]
28 }
29 }
30 ],
31 "config": {
32 "originConfig": [
33 {
34 "type": "DOMAIN",
35 "addr": "test1.com",
36 "httpPort": 8088
37 }
38 ]
39 }
40 }
41 ]
42}
注:pageRules_origins 与您设置的 pageRules_originConfig 一致,仅配置名称不同。
正常缓存参数过滤规则配置
Plain Text
1{
2 "cacheFullUrl":false,
3 "cacheUrlArgs":[
4 "a"
5 ]
6}
条件缓存参数过滤规则配置
Plain Text
1{
2 "cacheFullUrl":false,
3 "cacheUrlArgs":[
4 "a"
5 ],
6 "pageRules_cacheFullUrl": [
7 {
8 "matchRules": [
9 {
10 "target": "url",
11 "modifier": "",
12 "pathValues": [
13 "/test"
14 ]
15 }
16 ],
17 "config": {
18 "cacheFullUrl": false,
19 "cacheUrlArgs": [
20 "a"
21 ]
22 }
23 }
24 ]
25}
