nginx accesskey防盗链系统配置

 



A:平滑升级
wget http://sourceforge.net/projects/yamdi/files/yamdi/1.4/yamdi-1.4.tar.gz/download
tar zxvf yamdi-1.4.tar.gz
cd yamdi-1.4
make && make install
http://nginx.org/download/nginx-1.0.5.tar.gz
mkdir -p /usr/local/nginx/html/flv_file
wget http://www.ieesee.net:8080/~uingei/nginx-accesskey-2.0.3.diff.bz2
bzcat ../nginx-accesskey-2.0.3.diff.bz2 | patch -p1
./configure --user=www --group=www --prefix=/usr/local/nginx  --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-md5=/usr/lib --with-sha1=/usr/lib --with-http_gzip_static_module --with-http_flv_module --with-cc=gcc --with-cc-opt=" -O3"   --with-http_accesskey_module
make -j8
cp objs/nginx /usr/local/nginx/sbin
make upgrade
此时已完成平滑升级并加入flv和accesskey模板;
B: accesskey的配置
接下来可以配置nginx.conf 要注意路径格式 root 字段写在 server里 在根据root路径添加防盗链路径。
默认里只需加入个location /dowmload  {           #/download 改为自己做链的路径
           accesskey             on;                      #此处代表启用
          accesskey_hashmethod  md5;          #加密方法可以是MD5或者SHA-1
          accesskey_arg         "key";                #url中的关键字参数
          accesskey_signature   "ww$remote_addr";      #为加密值,此处为ww和访问IP构成的字符串
}
访问测试格式ip/file.rar?key=b463bb3dbf6b102de554f5fa47fbe6fd
C:flv 播放器
location / {
          limit_rate_after 5m;    #在flv视频文件下载了5m开始限速
         limit_rate  512k;          #速度限制为512K
         charset    utf-8;
        location ~\.flv {
             flv;
}
}
设置完毕后测试的时候还需要一个支持拖拽的flash播放器。开源的JW player就可以实现这样的功能,
下载链接 http://blogimg.chinaunix.net/blog/upfile2/100607142612.rar
当然大家也可以去官网下载未编译的或自己编译的;下载播放器后。上传到上面设置的/usr/local/nginx/html/flv_file/目录下,把flv视频文件也放到该目录下
启动nginx后测试:
http://192.168.1.214/pl.swf?type=http&file=wcwrs.flv 
      说明: #我的ip是192.168.1.214
#player.swf是我的JW Player播放器名字
#http是表示居于http分发方式
#wcwrs.flv是我的flv视频文件

D:结合
  location / {
            index  index.html index.htm index.php ;
            limit_rate_after 5m;
            limit_rate  512k;
            charset    utf-8;
        location ~\.flv {
          accesskey             on;
          accesskey_hashmethod  md5;
          accesskey_arg         "key";
          accesskey_signature   "ww$remote_addr";
                                flv;
        }
}
这里各项就不做解释了效果如下



当然防盗链还有两种思路 都是nginx自带功能:
一种:根据域名做判断
location ~* \.(gif|jpg|png|swf|flv)$ {
valid_referers none blocked *.xxx.com ;
              if ($invalid_referer) {
                        #rewrite ^/ http://www.ingnix.com/retrun.html;
                  return 404;
             }
}
二种:根据目录做判断
location /images/ {
alias /data/images/;
valid_referers none blocked server_names *.xok.la xok.la ;
if ($invalid_referer) {return 403;}
}
根据需求可以结合 方法灵活

本文出自 “老宝-开源之路” 博客,谢绝转载!

你可能感兴趣的:(nginx,职场,休闲,accesskey,防盗链系统配置)