Nginx环境下对部分网站做防盗链设置及外链的跳转

2017-10-14T13:36:00
当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »

说明:对于Nginx防盗链的设置,之前发过一篇文章:Linux VPS下Nginx与Apache环境防盗链设置方法,而这个方法就是连所有的网站都屏蔽了,有时候并不适合有些网站,现在再分享一个Nginx限制部分网站外链权限的方法。

方法

以下代码均在站点配置文件添加即可!

1、屏蔽部分网站和IP

 if ($http_referer ~* abcd.com|bcde.org|cdef.me|103.35.13.4|235.35.3.2)
 {
     rewrite ^/ https://www.google.com/logo.png;
  }

意思是屏蔽那些网站或IP段的外链请求,并且替换图片为https://www.google.com/logo.png,为何还要屏蔽IP段呢? 因为好多大人网站会直接采用IP地址访问,所以加上了这个匹配规则。

2、设置部分网站跳转

 if ($http_referer ~* abcd.com|bcde.org|cdef.me)
 {
   rewrite ^(.*)$ https://blog.moerats.com.com$1 permanent;
  }

可以将以上的网址访问过来链接自动跳转到https://blog.moerats.com上,其他网站外链过来的话连接不变,这样可以把一部分访问量很大的网站流量转移到其他服务器上。

3、设置部分文件夹跳转

 if ($http_referer ~* abcd.com|bcde.org|cdef.me)
 {
   rewrite ^/picture/(.*)$ https://blog.moerats.com/picture/$1 permanent;
  }

picture目录下所有的文件转向到https://blog.moerats.com/picture/目录下,其他具体的应用需要根据自己的网站来设置吧。