调用 UpdateReferer
接口,添加或更新 Referer 防盗链配置。
使用当前接口创建域名级别(Vhost+Domain)或 App 级别(Vhost+App)的 Referer 配置,您可以在配置中同时指定对 Referer 字段的匹配规则类型为通过或拒绝。同时支持为每个 Referer 字段的匹配规则设置优先级。当对头部信息中的 Referer 进行校验时,会根据您配置的规则优先级从大到小进行匹配。
匹配后根据规则类型放行或拒绝,如所有规则均未匹配,则根据优先级最低的 Referer 规则进行反向放行。如 Referer 规则均未匹配,且优先级最低的 Referer 规则为 deny
,则对请求进行放行。
当您同时配置了 Vhost+Domain 和 Vhost+App 级别的配置时,优先使用 Vhost+ App 的配置。
下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数。
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | UpdateReferer | 接口名称。当前 API 的名称为 UpdateReferer 。 |
Version | String | 是 | 2023-01-01 | 接口版本。当前 API 的版本为 2023-01-01 。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Vhost | String | 是 | push.example.com | 域名空间,即直播流地址的域名所属的域名空间。您可以调用 ListDomainDetail 接口或在视频直播控制台的域名管理页面,查看需要查询的直播流使用的域名所属的域名空间。 |
Domain | String | 否 |
| 拉流域名,您可以调用 ListDomainDetail 接口或在视频直播控制台的域名管理页面,查看直播流使用的拉流域名。 说明 参数 |
App | String | 否 |
| 应用名称,取值与直播流地址中 AppName 字段取值相同,默认为空,表示所有应用名称。支持由大小写字母(A - Z、a - z)、数字(0 - 9)、下划线(_)、短横线(-)和句点(.)组成,长度为 1 到 30 个字符。 说明 参数 |
RefererInfoList | Array of RefererInfoList | 是 |
| Referer 防盗链规则列表。 说明
|
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Key | String | 是 | referer | 用于标识 referer 防盗链的关键词默认取值为 referer 。 |
Priority | Integer | 否 | 80 | Referer 字段规则的匹配优先级,默认为 0 ,取值范围为 [0,100],数值越大,优先级越高。如果优先级相同,则越早加入列表的域名优先级越高。 |
Type | String | 是 |
| Referer 字段规则类型,取值即含义如下所示。
|
Value | String | 否 | live.example1.net | Referer 字段规则,即设置的黑名单或白名单的域名,最大长度限制 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" } }
下表仅列出本接口特有的错误码。更多信息请参见公共错误码获取详细信息。
状态码 | 错误码 | 错误信息 | 说明 |
---|---|---|---|
200 | CommonErr | - | 未分类错误。建议重试,如果仍返回该错误码,请联系技术支持。 |
400 | InvalidParam | - | 输入的参数无效或不符合要求,请参照请求参数说明进行检查。 |
400 | InvalidParam.BindError | Request parameter error, please check input data | 参数未通过校验,请检查参数类型是否正确。 |
400 | InvalidParam.OutOfRange | %s should be one of {[%s]}%s should be between %d and %d | 参数超出允许范围,请检查错误消息中指定参数的取值是否超出取值范围。 |
400 | InvalidParam.Length | %s should not be longer than %d | 参数长度错误,请检查错误消息中指定参数的长度是否超过限制。 |
400 | InvalidParam.DomainAndApp | domain and app exist can not exist at the same time | 入参不能同时传入 Domain 和 App ,请修改入参。 |
403 | RequestForbidden | - | 请求被拒绝,当前账号下无请求的资源(域名空间、域名、应用、配置模版、证书)。 |
403 | RequestForbidden.AccountIDNotAllow | this AccountID does not have permission to access the corresponding resource, please check the request parameters | 请求被拒绝,当前账号下无请求的资源(域名空间、域名、应用、配置模版、证书)。 |
403 | RequestForbidden.BillingStatus | Billing status is not available for the AccountID, please activate the service or recharge. | 未开通视频直播服务或账号欠费,造成账单不可用,请检查服务开通情况和账号欠费情况。 |
404 | ResourceNotFound | - | 未找到资源(域名空间、域名、应用、配置模版、证书)。建议重试,如果仍返回该错误码,请联系技术支持。 |
500 | InternalError | an internal error occurred, please contact the administrator. | 出现内部错误,请联系技术支持。 |
500 | InternalError.DB | an internal error related to database occurred, please contact the administrator. | 出现与数据库相关的内部错误,请联系技术支持。 |
500 | InternalError.VhostOrDomain | an internal error related to vhost or domain occurred, please contact the administrator. | 出现与域名空间(Vhost)或域名(Domain)相关的内部错误。请联系技术支持。 |
502 | InternalServiceError | an internal error occurred, please contact the administrator. | 服务间出现错误,请联系技术支持。 |
502 | InternalServiceError.BadResponse | an internal error occurred, please contact the administrator. | 服务间出现错误,请联系技术支持。 |
504 | InternalServiceTimeout | Internal Service is timeout. please contact the administrator. | 内部服务超时,请联系技术支持。 |
视频直播提供了配套的开发工具集 SDK,支持多种编程语言,帮助您更方便的调用 API。