Nginx防止盗链

防 止盗链不仅能保护版权,又节约了不少流量。最近和bsdmap交流了下,听说他们通过防盗链节约了近1/3的图片流量。nginx的防盗链设置还是比较简 单的,可以分为普通防盗链和ip/cookie based防盗链。其中ip based防盗链需要安装nginx的module,所以相对麻烦一些。
nginx最简单的防盗链设置如下

 

location ~* .(gif|jpg|png|swf|flv)$ {
    valid_referers none blocked www.dooda.net;
    if ($invalid_referer) {
        return 403;
    }
}

通过nginx的重定向方式返回403错误。

NginxHttpAccessKeyModule实现防盗链

需要先安装nginx的NginxHttpAccessKeyModule模块。其运行方式是:如我的nginx目录下有一个file.gz 的文件。对应的URI 是http://www.dooda.net/nginx/file.gz
若 用ngx_http_accesskey_module 后则根据用户的IP生成一个key值,如下的链接来访问http://www.dooda.net/download /file.zip?key=23497sdf897. 只有给定的key值正确了,才能够下载nginx目录下的file.gz,这样就可以避免被盗链了。

 

引用:http://www.nginx.com.cn/?p=255

posted @ 2012-06-12 11:56  Linux、Mongo、Php、Shell、Python、C  阅读(332)  评论(0编辑  收藏  举报