大家在查看分析网站访问日志的时候,很可能发现自己网站里面的很多图片被外部网站引用,这样给我们自己的博客带来了最少两点的不好:(1)、如果别的网站引用我们网站图片的次数非常多的话,会给咱们网站服务器带来很大的负载压力;(2)、被其他网站引用图片会消耗我们网站的流量,如果我们的网站服务器对流量有限制的话,这样对我们网站影响很大.
针对这几点问题,我将在本文介绍如果通过nginx服务器来限制其他网站对我们网站图片的引用.
nginx服务器中的ngx_http_referer_module模块允许拦截"Referer"请求头中含有非法值的请求,阻止它们访问站点.
我们只需要在网站的配置文件里面加入以下的配置即可:location~\.
(gif|jpg|png|bmp)${valid_referersnoneblockedwww.
iteblog.
comserver_names~\.
google\.
~\.
baidu\.
if($invalid_referer){return403;}}上面valid_referers的语法如下:语法:valid_referersnone|blocked|server_names|string.
.
.
;默认值:—上下文:server,location"Referer"请求头为指定值时,内嵌变量$invalid_referer被设置为空字符串,否则这个变量会被置成"1".
查找匹配时不区分大小写.
该指令的参数可以为下面的内容:none缺少"Referer"请求头;blocked"Referer"请求头存在,但是它的值被防火墙或者代理服务器删除;这些值都不以"http://"或者"https://"字符串作为开头;server_names"Referer"请求头包含某个虚拟主机名;string定义一个服务器名和可选的URI前缀.
服务器名允许在开头或结尾使用"*"符号.
当nginx检查时,"Referer"请求头里的服务器端口将被忽略.
正则表达式必须以"~"符号作为开头.
1/2需要注意的是表达式会从"http://"或者"https://"之后的文本开始匹配.
通过上面的配置,只要访问我们网站图片的Referer不是来自www.
iteblog.
com、Google、null或者百度等请求全部被nginx返回403错误,也就是无法访问.
需要注意的是用户伪造一个有效的"Referer"请求头是相当容易的,因此这个模块的预期目的不在于彻底地阻止这些非法请求,而是为了阻止由正常浏览器发出的大规模此类请求.
还有一点需要注意,即使正常浏览器发送的合法请求,也可能没有"Referer"请求头.
哪里购买香港云服务器便宜?众所周知,国内购买云服务器大多数用户会选择阿里云或腾讯云,但是阿里云香港云服务器不仅平时没有优惠,就连双十一、618、开年采购节这些活动也很少给出优惠。那么,腾讯云虽然海外云有优惠活动,但仅限新用户,购买过腾讯云服务器的用户就不会有优惠了。那么,我们如果想买香港云服务器,怎么样购买香港云服务器便宜和优惠呢?下面,云服务器网(yuntue.com)小编就介绍一下!我们都知道...
DiyVM是一家低调国人VPS主机商,成立于2009年,提供的产品包括VPS主机和独立服务器租用等,数据中心包括香港沙田、美国洛杉矶、日本大阪等,VPS主机基于XEN架构,均为国内直连线路,主机支持异地备份与自定义镜像,可提供内网IP。最近,商家对香港机房VPS提供5折优惠码,最低2GB内存起优惠后仅需50元/月。下面就以香港机房为例,分享几款VPS主机配置信息。CPU:2cores内存:2GB硬...
BuyVM测评,BuyVM怎么样?BuyVM好不好?BuyVM,2010年成立的国外老牌稳定商家,Frantech Solutions旗下,主要提供基于KVM的VPS服务器,数据中心有拉斯维加斯、纽约、卢森堡,付费可选强大的DDOS防护(月付3美金),特色是1Gbps不限流量,稳定商家,而且卢森堡不限版权。1G或以上内存可以安装Windows 2012 64bit,无需任何费用,所有型号包括免费的...