Nginx反向代理后防盗链设置

分享一下设置心得,nginx反向代理后,如果再用feresers来设置防盗链,所有文件的定向都会发生错误,经过慢慢地测试,发现只需要If判断通过的情况下手动再设置一次proxy_pass,等同于这种情况下location /{}配置节并没有生效,

示例配置如下

server {
   listen   80;
   server_name  test.luoo.net;
  #        access_log  /home/www/logs/luoo.net_access.log;
  location ~ .*\.(mp3|ogg|aac)$ {
     valid_referers none blocked bus.fm *.bus.fm luoo.net *.luoo.net ;
     if ($invalid_referer) {
     return 403;
      }
      proxy_pass http://219.151.*.*:8090;
  }
   location / {
      proxy_pass http://219.151.*.*:8090;
   }
}

以上,网站发布在该服务器8090端口,用nginx80端口反向代理,同时简单判断一下请求来源(validreferes)和请求目标(mp3/ogg等),不符合规则的就返了一个403错误。

到此为止,网上的教程都是教你这么设的,现在既然在设置反向代理,那么就在if后加多一句proxy_pass就可以了,同时location /{}一节就不起作用了

原文地址:https://www.cnblogs.com/walkerwang/p/2063591.html