在Nginx上配置图片防盗链非常简单,通过用户客户端http请求头中的Referer信息来做为主要判断,如果图片链接嵌套在非指定的网站上,可以限制其访问。
主要配置代码如下:
- location ~*\.(gif|jpg|jpeg|png|bmp|swf)$ {
- valid_referers none blocked *.yourname.com;
- if ($invalid_referer) {
- rewrite ^/ http://youname.com/error.html;
- #return 403;
- }
- }
以上代码解释如下:
1、location中指定要防篡改的文件类型;
2、valid_referers指定资源访问是通过以下几种方式为合法
none:直接通过url访问,无referer值的情况
blocked:referer值被防火墙修改
servername:指定资源在合法的url中可以被引用,支持*通配符
3、if判断如果用户请求的资源不符合上述配置,那么rewrite重定向到你想指定的url上,也可以配置403权限错误。
通过上述配置可以避免网站大部分资源盗链的情况。
本文转自阿布ve 51CTO博客,原文链接:http://blog.51cto.com/abuve/1020090,如需转载请自行联系原作者