nginx 配置防盗链(了解)

一 防盗链

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

none , 检测 Referer 头域不存在的情况。
blocked ,检测 Referer 头域的值被防火墙或者代理服务器删除或伪装的情况。这种情况该头域的值不以 “http://” 或 “https://” 开头 也允许访问
server_names ,设置一个或多个 URL ,检测 Referer 头域的值是否是这些 URL 中的某一个。

如:

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
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值