利用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