nginx防盗链实现
语法: valid_referers none | blocked | server_names | string …;
默认值: —
上下文: server, location
“Referer”请求头为指定值时,内嵌变量$invalid_referer被设置为空字符串, 否则这个变量会被置成“1”。查找匹配时不区分大小写。
该指令的参数可以为下面的内容:
none
缺少“Referer”请求头;
blocked
“Referer” 请求头存在,但是它的值被防火墙或者代理服务器删除; 这些值都不以“http://” 或者 “https://”字符串作为开头;
server_names
“Referer” 请求头包含某个虚拟主机名;
防止别人直接从你网站引用图片等链接,消耗了你的资源和网络流量,那么我们的 就可以设置防盗链策略下面的方法是直接给予404的错误提示,或者是显示一个图片
location ~* ^.+.(jpg|gif|png|swf|flv|wma|wmv|asf|mp3|mmf|zip|rar)$ {
valid_referers none blocked www.aa.com aa.com;
if ($invalid_referer) {
#return 302 http://nginx.aa.com/img/nolink.jpg;
return 404;
break;
}