配置nginx防止被盗链,提高资源利用率,K哥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置nginx防止被盗链,提高资源利用率,K哥相关的知识,希望对你有一定的参考价值。

2016年7月29日

nginx访问日志报大量这种,经查看发现都是搜狗360QQ的图片盗链

49.84.236.135 - - [29/Jul/2016:11:35:58 +0800] "GET/upload/2015_06/forum.php HTTP/1.1" 302 160 "http://pic.*****.com/d?query=%E5%A4%8F%E5%AD%A3%E5%A4%A7%E9%94%85%E8%8F%9C%E8%8F%9C%E8%B0%B1&page=1&did=6&st=255&mode=255&phu=http%3A%2F%2Fimages.meishij.net%2Fp%2F20111001%2F16eebce0733b97334d2ef049b79b0209.jpg&p=40230500""Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (Khtml, like Gecko)Chrome/47.0.2526.80 Safari/537.36 Core/1.47.640.400QQBrowser/9.4.8309.400" "-"^C

什么是盗链?

盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或提供很少的资源,而真正的服务提供商却得不到任何的收益。

302状态码

302重定向又称之为302代表暂时性转移(Temporarily Moved ),英文名称:302 redirect。 也被认为是暂时重定向(temporary redirect),一条对网站浏览器的指令来显示浏览器被要求显示的不同的URL,当一个网页经历过短期的URL的变化时使用。一个暂时重定向是一种服务器端的重定向,能够被搜索引擎蜘蛛正确地处理。

如何确认自己被盗链了呢?

首先查看状态码是302还是200,还是别的

你可以用tailf实时查看,也可以用AWK来统计一天的。

然后看这个http://pic.*****.com,这是**网站图片的网址

我是K哥!

我的这条记录大概意思就是,**盗链我服务器中的图片,造成资源的浪费。


下面是如何防止被盗链,在nginx.conf中server中添加

我的都是图片多,所以类型选择gif|jpg|png

        location ~* \.(gif|jpg|png)${

            root   /opt/****;

            valid_referers   *.****.net ****.net;

            if ($invalid_referer) {

            return 403;

        }

        }

代码解释

location ~* \.根目录下所有文件 (gif|jpg|png)要屏蔽的文件类型${    

valid_referers   *.****.net 所有的2级域名  ****.net; 主域名

我是K哥

return 403;  你想设定的返回的值

或者可以设置为自定义的图rewrite ^/http://www.*****.com/retrun.html;

本文出自 “kevinzhang91” 博客,请务必保留此出处http://kevinzhang91.blog.51cto.com/12012510/1850726

以上是关于配置nginx防止被盗链,提高资源利用率,K哥的主要内容,如果未能解决你的问题,请参考以下文章

(012)Nginx静态资源web服务_防盗链配置

nginx实践之静态资源web服务(防盗链)

Nginx详解十三:Nginx场景实践篇之防盗链

配置 Nginx 防盗链

nginx防盗链和代理配置

Nginx的防盗链技能