Nginx防盗链(二)

以前介绍过Nginx防盗链

你是否已经不满足于单纯基于referer方式的防盗链了?那你可以试试nginx的access key这个第三方模块。

这个模块可以阻止所有URL中未包含合法访问令牌的访问。访问令牌可以由访问者IP或者其它服务器变量生成,所以可以很好地控制客户端的下载行为。

用户得到的下载地址可能像这样:http://example.com/download/file.zip?key=ff70169437bcbc816b0caccab5cf94fa

1、下载


你可以到http://wiki.nginx.org/NginxHttpAccessKeyModule进行下载

2、安装


编辑config文件,将$HTTP_ACCESSKEY_MODULE替换为ngx_http_accesskey_module,然后编译:

./configure --add-module=/opt/install/nginx-accesskey-2.0.3 --prefix=/usr/local/nginx/

3、配置

location /download {
    accesskey             on;
    accesskey_hashmethod  md5;
    accesskey_arg         "key";
    accesskey_signature   "mypass$remote_addr";
    error_page 404 =200 /$request_uri;
}

这样当一个用户将访问地址拷贝给别人时,因为访问ip不同,造成key值不同,从而达到防盗链的目的。

猜你喜欢

转载自eric-gao.iteye.com/blog/1152269