码迷,mamicode.com
首页 > 其他好文 > 详细

2.2-nginx配置防盗链

时间:2015-09-13 20:14:44      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:2.2-nginx配置防盗链

nginx的防盗链配置比apache简单,同样用到了referers

#不记录指定的文件类型日志


    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|rar|zip|gz|bz2)$

{

        access_log off;

        expires 15d;

        valid_referers none blocked *.llzdwyp.com *.wyp.com *.llzd.com;

        if ($invalid_referer)     #无效referer 注意referer没有s

        {

             return 403;          #返回403

         }

}


测试:curl -e "http://www.baidu.com/111" -I -x127.0.0.1:80 ‘http://www.llzdwyp.com/static/image/smiley/default/kiss.gif‘

发现了403提示

-e用来指定referers 即是否百度可以打开指定链接,意味是否可以盗链。


测试:curl -e "http://www.wyp.com/111" -I -x127.0.0.1:80 ‘http://www.llzdwyp.com/static/image/smiley/default/kiss.gif‘

发现200正常


课后答疑:

1.nginx配置防盗链的时候的if ($invalid_referer)

{

return 403;

}

语句与shell脚本的if语句是否相同

答:都是判断语句,但这个是nginx的配置,shell是shell,有本质的区别,不要混为一谈


2.在配置虚拟机的主配置文件时,中间用的是shell通配符,还是正则表达式。还是两者都可以??

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|rar|zip|gz|bz2)$ { ## 前面的“.*” ,是正则的形式

access_log off;

expires 5d;

valid_referers none blockef *.igbugs.com *.xyb_test.com; ## 这里的“*” ,是是用的通配符吧

答:有些地方是要用正则的,像带有 ~ 符号时后面一定是正则,而有些地方像这种域名那就是通配。讲究比较多,用多了就见怪不怪了。


2.2-nginx配置防盗链

标签:2.2-nginx配置防盗链

原文地址:http://llzdwyp.blog.51cto.com/6140981/1694229

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!