Nginx防盗链配置

一、为什么要配置防盗链

A是某一网站站长,A网站中的图片和音频视频链接等静态资源都保存在对象存储OSS上或者本地。

B是另一网站的站长,B在未经A允许的情况下使用A网站的图片资源,放置在自己网站的网页中,通过这种方法盗取空间和流量。这样的情况下,第三方网站用户看到的是B网站,但并不清楚网站里的图片来源。

OSS是收费的,这样用户A在没有获取任何收益的情况下,反而承担了资源使用费用,并且B在没有经过允许的情况下适用这些资源也是侵害了A的合法权益。

盗链

二、配置防盗链的方法

要实现防盗链,需要了解HTTP协议中的请求头部的Referer头域和采用URL的格式表示访问当前网页或者文件的源地址。通过该头域的值,我们可以检测到访问目标资源的源地址。这样,如果我们检测到Referer头域中的值并不是自己站点内的URL,就采取阻止措施,实现防盗链。

ngx_http_referer_module(阻挡来源非法的域名请求)的valid_referers可以配置相关防盗链的行为

location ~.*\. (gif|jpg|png|flv|swf|rar|zip)$
{
  valid_referers none blocked http://test.com *.test.com;
  if($invalid_referer)
  {
    #return 403;
    rewrite ^/ http://www.test.com/403.jpg;
  }
}

最后给大家送波福利

阿里云折扣快速入口

资料来源
Nginx防盗链
nginx中的盗链与防盗链

你可能感兴趣的:(Nginx防盗链配置)