节点管理-配置访问控制规则

通过访问控制管理,用户可以设置配置Referer黑白名单,从而实现防盗链。

  • 如果设置了黑名单,那么当Referer在黑名单里面的时候,不允许访问,其他情况可以访问。
  • 如果设置了白名单,那么只有当Referer是白名单中的域名时,才可以访问 。

请求

方法 请求 URI
PUT https://restapi.cdn.azure.cn/subscriptions/{subscriptionId}/endpoints/{endpointId}/accesscontrol?apiVersion=1.0

URI参数

</tr
参数名 描述
subscriptionId 订阅唯一标识
endpointId 目标节点唯一标识

请求 Headers

请求包头 描述
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 表明服务器成功接受请求
其他 表示出错的通用回复

响应 Headers

响应包头 描述
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 错误信息