Nginx屏蔽部分网站外链权限

来源:互联网  时间:2018-01-08    阅读:   我要吐槽    阿里云幸运券

网上虽然有很多Nginx防盗链的方法, 但那些都是白名单制度, 也就是非白名单内的网站外链都给屏蔽了, 但是这个设置并不适合有些网站, 现在分享一个Nginx限制部分网站外链权限的方法.

在配置文件里面加上下面的配置文件

  1. if ($http_referer ~* abc123.org|abc123.com|abc124.com|67.67.67|67.67.68) 
  2.  { 
  3.      rewrite ^/ https://www.google.com/logo.png; 
  4.   } 

上面的意思是屏蔽那些网站或IP段的外链请求, 并且替换图片为https://www.google.com/logo.png

为何还要屏蔽IP段呢? 因为好多大人网站会直接采用IP地址访问, 所以加上了这个匹配规则.

再放一个设置部分网站跳转的方法

  1. if ($http_referer ~* testing.com|test123.cn|test321.net) 
  2.  { 
  3.    rewrite ^(.*)$ https://s2.axxx.com$1 permanent; 
  4.   } 

如现在的url是https://s1.axxx.com/test.png, 如果以上的网址访问过来会自动跳转到https://s2.axxx.com/test.png上. 其他网站外链过来的话连接不变, 这样可以把一部分访问量很大的网站流量转移到其他服务器上.

如果只需要把部分文件夹做跳转还可以用下面的方法

  1. rewrite ^/images/(.*)$ https://s2.axxx.com/images/$1 permanent; 

上面是说把images目录下所有的文件转向到https://s2.axxx.com/images/目录下.
其他具体的应用需要根据自己的网站来设置吧.

Tags:Nginx  

参与讨论