Nginx 阻止热链接和重定向在新版 Nginx 中不起作用

Nginx 阻止热链接和重定向在新版 Nginx 中不起作用

在过去,这是非常有效的:

#domain1.com
location /files/ {
    valid_referers none blocked domain1.com domain2.com domain3.com;
    if ($invalid_referer) {
        return 403;
    }
    if (!-e $request_filename) {
        rewrite ^(.*)$ https://domain2.com/files/$1 redirect; 
    }
}

但在升级 nginx 后就不起作用了

我发现这个,似乎不适用于新版本的 nginx: https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/

我还发现了这个解决问题的办法:https://agentzh.blogspot.com/2011/03/how-nginx-location-if-works.html

但我不知道如何让它发挥作用。

这是我的.htaccess 文件:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !domain1\.com [NC]
RewriteCond %{HTTP_REFERER} !domain2\.com [NC]
RewriteCond %{HTTP_REFERER} !domain3\.com [NC]
RewriteRule \.rar$ - [F,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ http://domain2.com/file/$1 [L,R,NC]

相关内容