免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3670 | 回复: 0
打印 上一主题 下一主题

nginx 搭建flv流媒体服务器并做accesskey 防盗链 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-08-09 23:14 |只看该作者 |倒序浏览
A:平滑升级
wget http://sourceforge.net/projects/ ... 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;}
}
根据需求可以结合 方法灵活
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP