利用Nginx的Referer防盗链

Nginx Referer模块并不能100%的去拦截站点,因为浏览器的Referer头内容可以伪造。若有特殊要求可以使用第三方模块ngx_http_accesskey_module~来实现公用key的防盗链,迅雷都可以防的哦亲。
那么我们开始来配置Nginx,还是以raspberry pi为基准,首先进入/etc/nginx/sites-available 打开default文件添加下面内容。
1.指定目录进行防盗链(推存使用):

location /usr/upload/photos/ {  
    valid_referers none blocked *.google.com *.google.cn *.google.com.tw *.google.hk *.bing.com *.baidu.com *.soso.com *.qq.com *.yahpp.com *.baiducontent.com *.googleusercontent.com raspiweb.dyndns.org;  
    if ($invalid_referer) 
    {  
        return   403;  
    }  
}

2.我们还可以整个站点防盗链

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {   
    valid_referers none blocked *.google.com *.google.cn *.google.com.tw *.google.hk *.bing.com *.baidu.com *.soso.com *.qq.com *.yahpp.com *.baiducontent.com *.googleusercontent.com raspiweb.dyndns.org; 
    if ($invalid_referer) 
    {   
        return 403; 
    }   
    expires 1d;
}

接着就大功告成了~