You need to enable JavaScript to run this app.
导航

添加或更新 Referer 黑白名单

最近更新时间2024.04.08 15:59:16

首次发布时间2023.09.25 14:32:22

调用 UpdateReferer 接口,添加或更新 Referer 防盗链配置。

使用说明

使用当前接口创建域名级别(Vhost+Domain)或 App 级别(Vhost+App)的 Referer 配置,您可以在配置中同时指定对 Referer 字段的匹配规则类型为通过或拒绝。同时支持为每个 Referer 字段的匹配规则设置优先级。当对头部信息中的 Referer 进行校验时,会根据您配置的规则优先级从大到小进行匹配。

匹配后根据规则类型放行或拒绝,如所有规则均未匹配,则根据优先级最低的 Referer 规则进行反向放行。如 Referer 规则均未匹配,且优先级最低的 Referer 规则为 deny,则对请求进行放行。

当您同时配置了 Vhost+Domain 和 Vhost+App 级别的配置时,优先使用 Vhost+ App 的配置。

注意事项

  • 请求频率:单用户请求频率限制为 10 次/秒
  • 限额说明:同一个 Vhost 下,默认支持配置不超过 100 个 Referer 规则,如需提升限额请创建工单获取技术支持。

请求说明

  • 请求方式:POST
  • 请求地址:https://live.volcengineapi.com?Action=UpdateReferer&Version=2023-01-01

调试

请求参数

下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数

Query

参数类型是否必选示例值描述
ActionStringUpdateReferer接口名称。当前 API 的名称为 UpdateReferer
VersionString2023-01-01接口版本。当前 API 的版本为 2023-01-01

Body

参数类型是否必选示例值描述
VhostStringpush.example.com域名空间,即直播流地址的域名所属的域名空间。您可以调用 ListDomainDetail 接口或在视频直播控制台的域名管理页面,查看需要查询的直播流使用的域名所属的域名空间。

Domain

String

push.example.com

拉流域名,您可以调用 ListDomainDetail 接口或在视频直播控制台的域名管理页面,查看直播流使用的拉流域名。

说明

参数 DomainApp 传且仅传一个。

App

String

live

应用名称,取值与直播流地址中 AppName 字段取值相同,默认为空,表示所有应用名称。支持由大小写字母(A - Z、a - z)、数字(0 - 9)、下划线(_)、短横线(-)和句点(.)组成,长度为 1 到 30 个字符。

说明

参数 DomainApp 传且仅传一个。

RefererInfoList

Array of RefererInfoList

-

Referer 防盗链规则列表。

说明

  • 同一个 Vhost 下,默认支持配置不超过 100 个 Referer 规则,如需提升限额请创建工单获取技术支持;
  • 单次请求最多支持配置 100 个 Referer 规则。

RefererInfoList

参数类型是否必选示例值描述
KeyStringreferer用于标识 referer 防盗链的关键词默认取值为 referer
PriorityInteger80Referer 字段规则的匹配优先级,默认为 0,取值范围为 [0,100],数值越大,优先级越高。如果优先级相同,则越早加入列表的域名优先级越高。

Type

String

deny

Referer 字段规则类型,取值即含义如下所示。

  • deny:拒绝,即黑名单;
  • allow:通过,即白名单。
ValueStringlive.example1.netReferer 字段规则,即设置的黑名单或白名单的域名,最大长度限制 300 个字符。

返回参数

本接口无特有的返回参数。更多信息请见返回结构

请求示例

POST https://live.volcengineapi.com?Action=UpdateReferer&Version=2023-01-01
{
  "Vhost": "push.example.com",
  "Domain": "push.example.com",
  "RefererInfoList": [
    {
      "Type": "allow",
      "Key": "referer",
      "Value": "live.example1.net",
      "Priority": 80
    },
    {
      "Type": "allow",
      "Key": "referer",
      "Value": "live.example2.net",
      "Priority": 80
    },
    {
      "Type": "deny",
      "Key": "referer",
      "Value": "live.example3.net",
      "Priority": 80
    }
  ]
}

返回示例

{
  "ResponseMetadata": {
    "RequestID": "202011121850010102250920591B011F85",
    "Action": "UpdateReferer",
    "Version": "2023-01-01",
    "Service": "live",
    "Region": "cn-north-1"
  }
}

错误码

下表仅列出本接口特有的错误码。更多信息请参见公共错误码获取详细信息。

状态码错误码错误信息说明
200CommonErr-未分类错误。建议重试,如果仍返回该错误码,请联系技术支持
400InvalidParam-输入的参数无效或不符合要求,请参照请求参数说明进行检查。
400InvalidParam.BindErrorRequest parameter error, please check input data参数未通过校验,请检查参数类型是否正确。
400InvalidParam.OutOfRange%s should be one of {[%s]}%s should be between %d and %d参数超出允许范围,请检查错误消息中指定参数的取值是否超出取值范围。
400InvalidParam.Length%s should not be longer than %d参数长度错误,请检查错误消息中指定参数的长度是否超过限制。
400InvalidParam.DomainAndAppdomain and app exist can not exist at the same time入参不能同时传入 Domain 和 App ,请修改入参。
403RequestForbidden-请求被拒绝,当前账号下无请求的资源(域名空间、域名、应用、配置模版、证书)。
403RequestForbidden.AccountIDNotAllowthis AccountID does not have permission to access the corresponding resource, please check the request parameters请求被拒绝,当前账号下无请求的资源(域名空间、域名、应用、配置模版、证书)。
403RequestForbidden.BillingStatusBilling status is not available for the AccountID, please activate the service or recharge.未开通视频直播服务或账号欠费,造成账单不可用,请检查服务开通情况和账号欠费情况。
404ResourceNotFound-未找到资源(域名空间、域名、应用、配置模版、证书)。建议重试,如果仍返回该错误码,请联系技术支持
500InternalErroran internal error occurred, please contact the administrator.出现内部错误,请联系技术支持
500InternalError.DBan internal error related to database occurred, please contact the administrator.出现与数据库相关的内部错误,请联系技术支持
500InternalError.VhostOrDomainan internal error related to vhost or domain occurred, please contact the administrator.出现与域名空间(Vhost)或域名(Domain)相关的内部错误。请联系技术支持
502InternalServiceErroran internal error occurred, please contact the administrator.服务间出现错误,请联系技术支持
502InternalServiceError.BadResponsean internal error occurred, please contact the administrator.服务间出现错误,请联系技术支持
504InternalServiceTimeoutInternal Service is timeout. please contact the administrator.内部服务超时,请联系技术支持

服务端 SDK

视频直播提供了配套的开发工具集 SDK,支持多种编程语言,帮助您更方便的调用 API。