配置防盗链
配置referer黑白名单,通过设置HTTP Request Header中referer字段值的过滤策略,对访问者身份进行识别和过滤,实现限制访问来源的目的。
背景信息
HTTP Request Header中的Referer字段值代表了当前页面的请求来源,CDN节点可以通过Referer跟踪来源,对来源进行识别和判断。
用户访问加速域名网站内容时,访问请求到达CDN节点后,CDN节点会根据配置的Referer黑白名单,对访问者的身份进行识别和过滤,符合规则的可以顺利访问到该内容。如果不符合规则,该访问请求将会被禁止,返回403禁止访问的错误信息。
配置约束
- 防盗链功能默认关闭。
- referer黑名单与referer白名单二选一,不可同时配置。
操作步骤
- 登录华为云控制台,在控制台首页中选择“ CDN与智能边缘 > 内容分发网络 CDN”,进入CDN控制台。
- 在左侧菜单栏中,选择 。
- 在域名列表中,单击需要修改的域名或域名所在行的“设置”,进入域名配置页面。
- 选择“访问控制”页签。
- 在防盗链配置模块,单击“编辑”,系统弹出“配置防盗链”对话框,如下图所示。
图1 配置防盗链
- 打开“状态”开关按钮,开启该配置项。
- 选择“类型”,根据业务需要配置referer相关参数,具体参数说明参见下表。
表1 参数说明 参数
说明
输入规则
空referer
空referer指HTTP请求头中referer字段内容为空,或者一个HTTP请求中根本不包含referer字段。设置黑白名单时,如果勾选了此项,那么此类访问请求将遵循黑白名单的过滤规则。
说明:空referer指一个HTTP请求中的referer字段值为空或不包含referer字段(规则中输入“null”表示referer字段的值是null,不等于空referer)。
/
referer白名单
- 当请求的referer内容匹配白名单中的设置时,用户可以访问到请求的内容。否则,CDN返回403禁止访问的错误信息。
- 当勾选了“包含空referer”后,如果用户发起了此类空referer的访问请求,用户可以访问到请求的内容。
referer黑名单
- 当请求的referer内容匹配黑名单中的设置时,用户不能访问请求的内容,CDN节点返回403禁止访问的错误信息。否则,用户可以访问到请求的内容
- 当勾选了“包含空referer”后,如果用户发起了此类空referer的访问请求,用户不能访问请求的内容,CDN节点返回403禁止访问的错误信息。
- 在“规则”文本框处,输入要禁止或允许访问的域名。
- 单击“确定”,完成防盗链配置。
- (可选)关闭防盗链配置。
- 关闭“状态”开关即可关闭防盗链配置,此时所有配置将被清空,下次启用防盗链功能时需要重新配置相关参数。
配置示例
- 加速域名为www.example.com,该加速域名配置了referer白名单规则:包含空referer,白名单内容为www.test.com,如下图所示。
- 用户1:请求URL:https://www.example.com/file.html,该请求携带的referer字段值为空,CDN将会正常返回内容。
- 用户2:请求URL:https://www.example.com/file.html,该请求携带的referer字段值为:www.test.com,CDN将会正常返回内容。
- 用户3:请求URL:https://www.example.com/file.html,该请求携带的referer字段值为:www.abc.com,CDN节点将会返回403禁止访问的错误信息。
- 加速域名为www.example01.com,该加速域名配置了referer黑名单规则:包含空referer,黑名单内容为www.test01.com,如下图所示。
- 用户1:请求URL:https://www.example01.com/file.html,该请求携带的referer字段值为空,CDN节点将会返回403禁止访问的错误信息。
- 用户2:请求URL:https://www.example01.com/file.html,该请求携带的referer字段值为:www.test01.com,CDN节点将会返回403禁止访问的错误信息。
- 用户3:请求URL:https://www.example01.com/file.html,该请求携带的referer字段值为:www.bcd.com,CDN将会正常返回内容。