Nginx如何设置Referer来防止盗图

本文小编为大家详细介绍“Nginx如何设置Referer来防止盗图”,内容详细,步骤清晰,细节处理妥当,希望这篇“Nginx如何设置Referer来防止盗图”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

创新互联一直在为企业提供服务,多年的磨炼,使我们在创意设计,网络营销推广到技术研发拥有了开发经验。我们擅长倾听企业需求,挖掘用户对产品需求服务价值,为企业制作有用的创意设计体验。核心团队拥有超过十年以上行业经验,涵盖创意,策化,开发等专业领域,公司涉及领域有基础互联网服务重庆服务器托管成都app软件开发、手机移动建站、网页设计、网络整合营销。

如果服务器的图片被别的网站盗链,将影响服务器的带宽以及访问速度,这时我们就需要设置图片文件或视频文件的防盗链功能;

防盗链功能,简单来说就是你可以直接访问该资源,但是不能将我的资源链接放到你自己的服务器上让别人访问,尤其是图片或视频这种比较大的文件,容易导致服务器响应很慢。

如果不是图床,还真怕别的网站直接使用本站图片。这样子流量很可能一下子就被刷光了,毕竟cdn都是白花花的银子买来的。 因此,还是设置一个防盗链吧,nginx就可以完成这个功能了。

一般来说,遵照http协议实现的浏览器,在从a网站访问b网站时,都会带上当前网站的url,以表明此次点击是从何而起的。因此, nginx的这个模块也是依靠这个来实现,所以,如果骇客不加此头部,还是没法愉快的防盗图。

nginx官网文档如下:

syntax: valid_referers none | blocked | server_names | string ...;
default:    —
context:    server, location

nginx referer指令简介

nginx模块ngx_http_referer_module通常用于阻挡来源非法的域名请求.我们应该牢记,伪装referer头部是非常简单的事情,所以这个模块只能用于阻止大部分非法请求.我们应该记住,有些合法的请求是不会带referer来源头部的,所以有时候不要拒绝来源头部(referer)为空的请求.

因此,我们可以在 server 或者 location 块加上代码,我是保存为 valid_referers.conf :

valid_referers none blocked server_names;

if ($invalid_referer) {
 return 403;
}

然后在对应需要的地方加上 include /etc/nginx/valid_referers.conf ,当然,执行这个的前提是已经把 valid_referers.conf 放到对应机器上的 /etc/nginx/valid_referers.conf 路径下。

示例:

 location /articles/img {
  include /etc/nginx/valid_referers.conf;
  root /data/blog/code;
 }

读到这里,这篇“Nginx如何设置Referer来防止盗图”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注创新互联行业资讯频道。


文章名称:Nginx如何设置Referer来防止盗图
分享路径:http://scyanting.com/article/jhoesg.html