nginx做反向代理真的非常简单,只需设置location+proxy_pass即可。
防盗链配置有些复杂,需要注意的地方:

  • 在防盗链的location中需要再设置一下proxy_pass(在这里走了一些弯路)
  • 在valid_referers中不要漏写server_names
  • ~表示匹配时忽略大小写

经过实际验证的参考配置如下:

server {
    listen  80;
    server_name hostname;     
    
    location / {
        location ~ .*\.(jpg|gif|bmp)$ {
            valid_referers none blocked ~\.domain1\.com server_names ~\.domain2\.net; 
                if ($invalid_referer) {
                    return 403;
                }   
                proxy_pass  http://hostname;
            }     

        proxy_pass  http://hostname;
    }   
}  

相关文章:

  • 2019-08-15
  • 2022-01-19
  • 2021-12-13
猜你喜欢
  • 2021-11-26
  • 2021-05-20
  • 2021-10-04
  • 2021-05-28
  • 2022-01-13
  • 2022-12-23
  • 2021-06-24
相关资源
相似解决方案