Nginx 防盗链设置

回复 收藏
在 nginx.conf中的server部分中添加如下代码
location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ {   
                valid_referers none blocked server_names  *.taobao.com *.baidu.com *.google.com *.google.cn *.soso.com ;  // 对这些域名的网站不进行盗链。
                if ($invalid_referer) {
#                        rewrite   ^/   http://www.52blackberry.com/403.html;
#                        return 403;
                        rewrite ^/ http://www.example.com/nophoto.gif;
                        }
                }
其中 rewrite ^/ 后边可以是一个错误页面,如上边那一行,也可以是一个图片,如下面那个。
对于开头location 部分有的是这样的形式  location ~ .*\.(gif|jpg|png),经我验证都可以实现。
2009-09-27 17:53 举报
已邀请:
0

Budweiser小王子

赞同来自:

本帖最后由 Budweiser小王子 于 2014-7-9 17:25 编辑

学习中
0

xiaotuanyu120

赞同来自:

如果单独有个return 403 也是可以的吗?
0

qhj-love

赞同来自:

本帖最后由 qhj-love 于 2016-3-6 16:07 编辑

http://www.qhj.com/data/attach ... 3.jpg
0

qhj-love

赞同来自:

本帖最后由 qhj-love 于 2016-3-6 17:12 编辑

在测试中如果防盗链没有生效,将其放在servername下即可 代码如下
#配置防盗链
  1. location ~ .*\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ {
  2.                 valid_referers none blocked server_names  *.taobao.com *.baidu.com *.google.com *.google.cn *.soso.com;
  3.                 if ($invalid_referer) {
  4.                         return 404;
  5.                         }
  6.                 access_log off;
  7.                 }


回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: