共计 1014 个字符,预计需要花费 3 分钟才能阅读完成。

Referer防盗链,是基于HTTP请求头中Referer字段(例如,Referer黑白名单)来设置访问控制规则,实现对访客的身份识别和过滤,防止网站资源被非法盗用
valid_referers
指令语法
Syntax: valid_referers none | blocked | server_names | string ...;
Default: —
Context: server, location
- none:放行无referes头的请求
- blocked:允许不带schema协议的请求,例如http://或者https://
- server_names:只允许指定ip/名来的请求
valid_referers根据上面三个参数进行过滤,规则匹配则会将变量$invalid_referer设置为空,否则为1
样例解析
valid_referers none blocked server_names
*.example.com example.* www.example.org/galleries/
~\.google\.;
if ($invalid_referer) {
return 403;
}
此时该服务可以:
- 浏览器可以直接访问资源链接
- 允许不带schema协议的请求
- 允许referer来自example.com所有子域名访问
- 允许referer来自子域名为example的所有域名
- 允许referer来自www.example.org/galleries/的请求
- 允许referer中存在字符串.google.的请求,表达式会从“http://”或者“https://”之后的文本开始匹配
静态资源防盗链样例
location ~* ^.+\.(jpg|gif|png|swf|flv|wma|wmv|asf|mp3|mmf|zip|rar)$ {
valid_referers none blocked *.xadocker.cn *.baidu.com ~\.google\.;
if ($invalid_referer) {
# 可以返回302 链接
# return 302 https://www.xadocker.cn/img/daowolian.jpg;
# 也可直接返回 403
return 403;
break;
}
}
阿里云cdn配置防盗链
一般来讲,博主的项目都会加上cdn,如果此时不防盗链配置,则很容易造成自己平台访问量的丢失,同时又产生大量的cdn流量费用。奉献自己,成就大家 X﹏X
在cdn控制台上可以配置防盗链配置

正文完
隐私政策
留言板
金色传说
kubernetes
terraform
云生原
helm
代码编程
Java
Python
Shell
DevOps
Ansible
Gitlab
Jenkins
运维
老司机
Linux 杂锦
Nginx
数据库
elasticsearch
监控
上帝视角
DJI FPV
DJI mini 3 pro
关于本站