节点管理-配置访问控制规则
通过访问控制管理,用户可以设置配置Referer黑白名单,从而实现防盗链。
- 如果设置了黑名单,那么当Referer在黑名单里面的时候,不允许访问,其他情况可以访问。
- 如果设置了白名单,那么只有当Referer是白名单中的域名时,才可以访问 。
请求
方法
| 请求 URI
|
PUT |
https://restapi.cdn.azure.cn/subscriptions/{subscriptionId}/endpoints/{endpointId}/accesscontrol?apiVersion=1.0 |
URI参数
参数名
| 描述
|
subscriptionId |
订阅唯一标识 |
</tr
endpointId |
目标节点唯一标识 |
请求包头 |
描述 |
x-azurecdn-request-date |
必填。符合yyyy-MM-dd hh:mm:ss格式的UTC当前请求时间 |
Authorization |
必填。授权头请参考CDN API签名机制 |
content-type |
必填。application/json |
请求 Body
{
"ForbiddenIps": [
"192.160.1.1",
"220.100.100.100"
],
"RefererControl": {
"Enabled": "true",
"PathPatterns": [
"/test1/test1.jpg"
],
"Referers": [
"http://www.abc.com",
"http://www.micorosft.com"
],
"RefererControlType": "AllowList"
}
}
参数名称
| 描述
|
ForbiddenIps |
禁止访问IP列表 |
PathPatterns |
盗链文件路径集合
|
Referers |
盗链集合
|
RefererControlType |
防盗链类型。
- AllowList: 白名单 ,只允许匹配Referers的链接访问匹配PathPatterns的路径
- BlockList: 黑名单,匹配Referers的链接访问匹配PathPatterns的路径时会被禁止访问
|
响应
响应由状态码,响应 headers以及响应 body组成。
状态码
状态码
| 描述
|
202 |
表明服务器成功接受请求 |
其他 |
表示出错的通用回复 |
响应包头
|
描述
|
X-Correlation-Id |
该请求唯一标识,用于追踪请求信息。 |
响应 Body
请求成功JSON示例文件如下:
{
"Succeeded": true,
"IsAsync": true,
"AsyncInfo": {
"TaskTrackId": "b520c544-ec34-4ac4-86f5-5394363919c3",
"TaskStatus": "Processing"
}
}
参数名称
| 描述
|
TaskTrackId |
操作唯一标识,可用于查询进度 |
TaskStatus |
任务状态。
- NotSet: 状态未知
- Processing: 正在处理
- Succeeded: 成功
- Failed: 失败
|
请求失败的JSON示例:
{
"Succeeded": false,
"ErrorInfo": {
"Type": "MissingAuthorizationHeader",
"Message": "Missing authorization header."
}
}
参数名称
| 描述
|
Type |
错误类型
- CredentialInvalid:凭据不合法
- ParameterMissing:缺少参数
- ParameterInvalid:参数不合法
- MissingAuthorizationHeader:缺少Authorization请求头
- InvalidRequestDateHeader:请求时间不合法
- MissingRequestDateHeader:缺少请求时间头
- AuthorizationHeaderExpired:Authorization请求头已失效
- InvalidAuthorizationHeader:Authorization请求头不合法
- ApiKeyNotFound:API密钥不存在
- InvalidApiKey:API密钥不合法
- WrongSignature:签名不对
- SubscriptionNotFound:订阅不存在
- EndpointDoesNotBelongToSubscription:节点不属于订阅
- EndpointNotInActiveState:节点不处于活跃状态
- EndpointNotFound:节点不存在
- MaliciousItemPathDetected:检查到恶意路径
- PermissionDenied:权限不够
- RequestThrottled:请求被限流
|
Message |
错误信息 |