您的位置:首页 > 运维架构 > Nginx

Nginx 之防盗链配置

2013-08-30 08:51 381 查看
1.http referer 是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上referer,告诉服务器是从哪个页面链接过来的,服务器借此可以获得一些信息用于处理,

location /photos/ {
valid_referers  none blocked www.mydomain.com;
if ($invalid_referer) {
return 403;
}
}
Http Referer 模块的功能:
valid_referers :该指令会根据Referer header头的内容分配一个值0或1给变量$invalid_referer ,
如果referer header 头不符合valid_referers指令设置的有效referer,变量$invalid_referer将被设置为1;该指令的参数有:
none :默认值,表示没referer值的情况
blocked :表示referer值被防火墙伪装
server_names :表示一个活多个主机名称,从nginx0.5.33版本开始,server_names中可以使用通配符*
举例:

location ~* \.(gif|jpg|png|swf|flv)$ {
valid_referers none blocked www.ccvita.com www.phpq.net;
if ($invalid_referer) {
rewrite ^/ http://www.ccvita.com/403.html; #return 404;
}
}
第一行:表示对以gif ,jpg等结尾的文件进行防盗链
第二行:表示对www.ccvita.com www.phpq.net这2个来路进行判断
if{}里面内容的意思是,如果来路不是指定来路就跳转到错误页面,当然直接返回404也是可以的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息