利用Nginx的Referer防盗链

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

1
2
3
4
5
6
7
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.我们还可以整个站点防盗链

1
2
3
4
5
6
7
8
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

这是一篇发布于 12年 前的文章,其中的信息可能已经有所发展或是发生改变,请了解。


1 Trackback / Pingback

  1. nginx使用入门的笔记 | Jackie的家

发表评论

你的邮件地址不会公开


*