首页 > 其他 > 详细

Nginx防盗链

时间:2020-03-11 18:54:58      阅读:68      评论:0      收藏:0      [点我收藏+]

1)修改vhost/blog.moonsbird.com.conf

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
  valid_referers none blocked *.moonsbird.com moonsbird.com;
  if ($invalid_referer) {
    #rewrite ^/ http://blog.moonsbird.com;
    return 403;
  }
    expires 30d;
    access_log off;
  }

2)真正意义上的防盗链

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
  valid_referers  *.moonsbird.com moonsbird.com;
  if ($invalid_referer) {
    #rewrite ^/ http://blog.moonsbird.com;
    return 403;
  }
    expires 30d;
    access_log off;
  }

3)两者的区在于有没有 none blocked

第一种方法有,在浏览器上输入图片地址可访问

第二种方法没有, 在浏览器上不可访问

    • valid_referers语法:valid_referers [none|blocked|server_names] …
      默认值:no
      使用字段:server, location
      这个指令在referer头的基础上为 $invalid_referer 变量赋值,其值为0或1。
      可以使用这个指令来实现防盗链功能,如果valid_referers列表中没有Referer头的值, $invalid_referer将被设置为1(参照前例)。
      参数可以使如下形式:

       

      • none意为不存在的Referer头
      • blocked意为根据防火墙伪装Referer头,如:“Referer: XXXXXXX”。
      • server_names为一个或多个服务器的列表,0.5.33版本以后可以在名称中使用“*”通配符。

      变量$invalid_referer不是nginx的系统变量,是http协议中的

Nginx防盗链

原文:https://www.cnblogs.com/xiaobingch/p/12464321.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!