一 防盗链
1.1 防盗链概念
网站上页面的一些静态资源,不想让本站点的静态资源被他人盗取访问。使用nginx判断请求连接的头部refer中是否含有内容以及合法性来进行处理。
referer表示第二次资源的来源地址
1.2 配置规则
valiad_referers none|blocked|server_names|string
默认值:-
位置(可以书写的地方):server,location
nginx会通过查看referer自动和valid_referers后面的内容进行匹配,如果匹配到了就将$invalid_referer变量置0,如果没有匹配到,则将$invalid_referer变量置为1
如:
http://loclahost:80/1.jpg; 则开始判断valid_referers 为www.baidu.com 则不合法$invalid_referer 为1,则 返回401;
http://wwww.baidu/1.jpg;则开始判断valid_referers 为www.baidu.com 则合法$invalid_referer 为0,不返回401,正确访问资源;
#设置可以访问的资源地址
vaild_referers none blocked www.baidu.com
这个是如果返回的头部referer为www.baidu.com那么就不会执行valid_referer下面内容,反之就会
#如果不满足白名单规则,则返回401
if ($invalid_referer)
这个含义就是结合上面的valid_referer,如果请求头部为www.baidu.com,那么就$invalid_referer就会被赋值为0,就不会执行返回错误代码401,
如果不是www.baidu.com,那么就会赋值为1,就会执行下面内容
return 401:返回错误代码401