gznz12345 发表于 2016-12-23 10:11:05

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_hashmethodmd5;
accesskey_arg         "key";
accesskey_signature   "mypass$remote_addr";
error_page 404 =200 /$request_uri;
}
  这样当一个用户将访问地址拷贝给别人时,因为访问ip不同,造成key值不同,从而达到防盗链的目的。
页: [1]
查看完整版本: Nginx防盗链(二)