更新加速域名回源地址
接口
本接口用于更新加速域名回源地址。此域名必须是本账户的,否则会返回403失败。
Method | Path | 说明 |
---|---|---|
PUT | /v2/domain/{domain}/config?origin | 修改加速域名的源站 |
请求体
参数 | 可选 | 类型 | 说明 |
---|---|---|---|
origin | 必选 | OriginPeer[]类型,OriginPeer表示一个源站 | 源站列表 |
requestHostAsOriginHost | 可选 | bool | 首先区分“请求域名”和“CDN域名”的关系。“CDN域名”指在CDN系统创建的域名,“请求域名”指CDN节点接收到请求时从请求头host中拿到的值。如果“CDN域名”不是泛域名,“请求域名”一定是“CDN域名”;如果“CDN域名”是泛域名,“请求域名”大概率不是“CDN域名”。 • 当requestHostAsOriginHost为true时,表示使用“请求域名”作为回源host,其优先级低于源站的回源host(即OriginPeer[i].host)。 • 当requestHostAsOriginHost为false时,使用defaultHost作为回源host,其优先级也低于源站的回源host(即OriginPeer[i].host) |
defaultHost | 可选 | string | 域名级别回源host,默认为加速域名。优先级低于源站的回源host(即OriginPeer[i].host)。 当requestHostAsOriginHost为true时此配置无效 |
follow302 | 可选 | bool | 开启/关闭回源follow 302 |
OriginPeer类型如下:
参数 | 可选 | 类型 | 说明 |
---|---|---|---|
peer | 必选 | string | 格式为 ${protocol}://${address}:${port},其中protocol可选,合法值为http和https,默认为http;port可选,分http回源端口以及https回源端口,当protocol为https时设置的是https回源端口,反之则设置的是http回源端口;address必须为ip或者域名,当address为IPv6地址时,必须为用中括号[]扩起来。当address为域名时,表示DOMAIN类型源站;当address为IP时,表示IP类型源站。 示例: 1、IPv4类型源站:https://171.107.86.35:443 2、IPv6类型源站:http://[240e:00a5:4200:0100::171.107.86.35]:80 3、域名类型源站:http://test.baidu.com:8080 |
host | 可选 | string | 回源时使用的host值,该host为源站级别的host,每个源站可以配置一个host |
backup | 可选 | bool | 是否为备份源站,true表示备份源站,false表示主源站,默认为false |
weight | 可选 | int | 源站权重,值为1-100之间的整数。当源站为DOMAIN类型时此项无意义。举例:按照权重分配回源的流量。假设某加速域名有2个IP类型的源站,一个IP源站权重是80,另一个是20,总的回源量是1G,那么,其中一个IP源站大约会有800M的回源,另一个大约会有200M的回源 |
isp | 可选 | string | 源站所属的运营商。默认无,可选值为un(联通)、ct(电信)、cm(移动) |
probeUrl | 可选 | string | 配置了probeUrl,表明配置对源站进行应用层探测,百度智能云CDN会定期给源站发送GET /{probeUrl}请求进行探测,如果源站响应的HTTP状态码小于500,那么认为源站正常;否则,认为源站异常,在探测恢复正常前不会选择异常源站进行回源。如果你希望探测的资源为 scheme//$origin/1.gif,那么此处的probeUrl应设置为"1.gif",而不是"/1.gif"。需要注意,probeUrl设置为空字符串表示不开启源站探。 |
其他限制:
- 多个源站的类型必须保持统一,不能一个源站为IP类型,另一个源站为DOMAIN类型。
- DOMAIN类型的主或备源站个数不超过1个。
- IP类型的主或备源站个数分别不超过20个。
- 必须包含一个主源站,可以没有备源站。
响应码
HTTP Status Code | 说明 |
---|---|
200 | 成功 |
响应体
参数 | 类型 | 说明 |
---|---|---|
status | String | 刚更新成功返回的status是RUNNING |
请求/响应示例1
以下请求对域名test.baidu.com设置两个源站,源站1的是HTTP协议类型源站,IP为220.181.38.251,端口为8888,CDN节点回源会带上的请求头部"Host: www.baiducdn.com",没有设置backup字段则取默认是也就是false表示这是一个主源站。源站二是HTTPS协议类型源站,IP为220.181.38.148,端口为设置则默认端口443,回源Host也是www.baiducdn.com,这是个备份源站。
PUT /v2/domain/test.baidu.com/config?origin HTTP/1.1
Host: cdn.baidubce.com
Content-Length: 178
Content-Type: text/json;utf-8
{
"origin":[
{
"peer":"http://220.181.38.251:8888",
"host":"www.baiducdn.com"
},
{
"peer":"https://220.181.38.148",
"host":"www.baiducdn.com",
"backup":true
}
],
"defaultHost":"www.baidu.com",
"follow302":true
}
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 20 Jun 2019 10:19:38 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/7.1.5
x-bce-request-id: e38a0c7d-388e-ac0b-6238-b674b4ea7bfc
{"status":"RUNNING"}
请求/响应示例2
同时配置ipv4和ipv6源站
PUT /v2/domain/test.baidu.com/config?origin HTTP/1.1
Host: cdn.baidubce.com
Accept: */*
Content-Length: 77
Content-Type: application/x-www-form-urlencoded
{
"origin": [
{
"peer": "http://[2001:250:3003:13::94]",
"host": "ipv6.stu.edu.cn"
},
{
"peer": "http://220.181.38.251",
"host": "aonetest"
}
]
}
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 20 Jun 2019 10:19:38 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/7.1.5
x-bce-request-id: e38a0c7d-388e-ac0b-6238-b674b4ea7bfc
{"status":"RUNNING"}
请求/响应示例3
“CDN域名为”非泛域名,配置两个源站,其中源站1(220.181.38.251)配置了源站级别回源host。同时配置了requestHostAsOriginHost为true,表示使用“请求域名”作为回源host。CDN根据权重选择源站的时候,如果选择了源站1(220.181.38.251),因为源站1配置了源站级别回源host,所以回源host使用251.test.baidu.com;如果选择了源站2(220.181.38.148),源站2没有配置源站级别回源host,所以回源host为test.baidu.com。
PUT /v2/domain/test.baidu.com/config?origin HTTP/1.1
Host: cdn.baidubce.com
User-Agent: curl/7.73.0
Accept: */*
Authorization: xxx
x-bce-date: 2022-07-13T07:23:00Z
x-bce-request-id: d2460b27-31d6-425c-9c9d-f5d7c2733a1d
Content-Length: 355
Content-Type: application/json
{
"origin":[
{
"peer":"http://220.181.38.251",
"backup":false,
"weight":1,
"host": "251.test.baidu.com"
},
{
"peer":"http://220.181.38.148",
"backup":false,
"weight":2
}
],
"requestHostAsOriginHost":true,
"follow302":true
}
HTTP/1.1 200 OK
Server: nginx/1.1.10
Date: Wed, 13 Jul 2022 07:23:00 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/7.2.28
x-bce-request-id: d2460b27-31d6-425c-9c9d-f5d7c2733a1d
{"status":"RUNNING"}
请求/响应示例4
“CDN域名为”泛域名,配置两个源站,其中源站1(220.181.38.251)配置了源站级别回源host。同时配置了requestHostAsOriginHost为true,表示使用“请求域名”作为回源host。如果CDN处理请求时从请求头拿到的host为1.test.baidu.com,CDN选择源站的时候,如果选择了源站1(220.181.38.251),因为源站1配置了源站级别回源host,所以回源host使用251.test.baidu.com;如果选择了源站2(220.181.38.148),源站2没有配置源站级别回源host,所以回源host为请求域名1.test.baidu.com。
PUT /v2/domain/*.test.baidu.com/config?origin HTTP/1.1
Host: cdn.baidubce.com
User-Agent: curl/7.73.0
Accept: */*
Authorization: xxx
x-bce-date: 2022-07-13T07:30:08Z
x-bce-request-id: 051a2285-38ac-4e09-a1c9-2e09d8b6c4f1
Content-Length: 355
Content-Type: application/json
{
"origin":[
{
"peer":"http://220.181.38.251",
"backup":false,
"weight":1,
"host": "251.test.baidu.com"
},
{
"peer":"http://220.181.38.148",
"backup":false,
"weight":1
}
],
"requestHostAsOriginHost":true,
"follow302":true
}
HTTP/1.1 200 OK
Server: nginx/1.1.10
Date: Wed, 13 Jul 2022 07:30:08 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/7.2.28
x-bce-request-id: 051a2285-38ac-4e09-a1c9-2e09d8b6c4f1
{"status":"OPERATING"}
请求/响应示例5
“CDN域名为”非泛域名,配置两个源站,其中源站1(220.181.38.251)配置了源站级别回源host。同时配置域名级别回源(defaultHost)为origin.test.baidu.com。CDN根据权重选择源站的时候,如果选择了源站1(220.181.38.251),因为源站1配置了源站级别回源host,所以回源host使用251.test.baidu.com;如果选择了源站2(220.181.38.148),源站2没有配置源站级别回源host,所以回源host使用域名级别回源host,即origin.test.baidu.com。
PUT /v2/domain/test.baidu.com/config?origin HTTP/1.1
Host: cdn.baidubce.com
User-Agent: curl/7.73.0
Accept: */*
Authorization: xxx
x-bce-date: 2022-07-13T07:55:36Z
x-bce-request-id: a701473d-442e-4ec4-ba0d-0967915380e7
Content-Length: 362
Content-Type: application/json
{
"origin":[
{
"peer":"http://220.181.38.251",
"backup":false,
"weight":1,
"host": "251.test.baidu.com"
},
{
"peer":"http://220.181.38.148",
"backup":false,
"weight":1
}
],
"defaultHost":"origin.test.baidu.com",
"follow302":true
}
HTTP/1.1 200 OK
Server: nginx/1.1.10
Date: Wed, 13 Jul 2022 07:55:36 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/7.2.28
x-bce-request-id: a701473d-442e-4ec4-ba0d-0967915380e7
{"status":"RUNNING"}