1. 程式人生 > 實用技巧 >nginx防盜鏈

nginx防盜鏈

下面介紹在nginx中實現防盜鏈配置方法有對圖片防盜鏈與下載資源
防盜鏈配置
假設網站域名是 www.php100.com。
編輯nginx.conf,在 www.php100.com 區域新增如下內容:
location ~* .(gif|png|jpg|bmp|swf|flv)$ {
    valid_referers none blocked www.php100.com php100.com;
    if ($invalid_referer) {
            return 403;
    }
}
以上的例子可以實現副檔名為 gif,png,jpg,bmp,swf,flv的url防止被盜鏈。如果你需要其它的url防止被盜鏈,新增相應的字尾即可。

針對圖片目錄實行防盜鏈
location /images/ {
alias /data/images/;
valid_referers none blocked *.mynginx.com;
if ($invalid_referer) {
rewrite ^/  http://www.php100.com;
#return 403;
}
}

小提示:nginx中 location ~  和 location ~*的區別:
location ~* 不區分大小寫,location ~ 區分大小寫。
需要注意的是,這二段防盜鏈的配置要放在正確的server裡,也就是要放在圖片url所在的server_name裡。
其次,rewrite也要寫正確,否則可能造成重複rewrite,可以用firefox的外掛Firebug來檢視。如果不想重寫到某個url,可以直接返回403。

參考連結
https://www.cnblogs.com/duanxz/p/4919150.html