利用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;
}
接着就大功告成了~
via