大家在查看分析网站访问日志的时候,很可能发现自己网站里面的很多图片被外部网站引用,这样给我们自己的博客带来了最少两点的不好:(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"请求头.
舍利云怎么样?舍利云推出了6核16G超大带宽316G高性能SSD和CPU,支持全球范围,原价516,折后价200元一月。原价80美元,现价30美元,支持地区:日本,新加坡,荷兰,法国,英国,澳大利亚,加拿大,韩国,美国纽约,美国硅谷,美国洛杉矶,美国亚特兰大,美国迈阿密州,美国西雅图,美国芝加哥,美国达拉斯。舍利云是vps云服务器的销售商家,其产品主要的特色是适合seo和建站,性价比方面非常不错,...
创梦网络怎么样,创梦网络公司位于四川省达州市,属于四川本地企业,资质齐全,IDC/ISP均有,从创梦网络这边租的服务器均可以****,属于一手资源,高防机柜、大带宽、高防IP业务,另外创梦网络近期还会上线四川眉山联通、广东优化线路高防机柜,CN2专线相关业务。广东电信大带宽近期可以预约机柜了,成都优化线路,机柜租用、服务器云服务器租用,适合建站做游戏,不须要在套CDN,全国访问快,直连省骨干,大网...
搬瓦工怎么样?这几天收到搬瓦工发来的邮件,告知香港pccw机房(HKHK_1)即将关闭,这也不算是什么出乎意料的事情,反而他不关闭我倒觉得奇怪。因为目前搬瓦工香港cn2 GIA 机房和香港pccw机房价格、配置都一样,可以互相迁移,但是不管是速度还是延迟还是丢包率,搬瓦工香港PCCW机房都比不上香港cn2 gia 机房,所以不知道香港 PCCW 机房存在还有什么意义?关闭也是理所当然的事情。点击进...