srs之防盗链配置及使用

防盗链

防盗链的功能基本使用HTTPCallback来实现 
那httpcallback是咋回事呢,就是在srs中某个事件发生的时候,srs会回调相应的url,并且将相关的信息post上去,然后你根据post上来的信息做出相应的动作,就是返回不同的值 
都有哪些事件呢

on_connect      当客户端连接到指定的vhost和app时
on_close        当客户端关闭连接,或者SRS主动关闭连接时
on_publish      当客户端发布流时
on_unpublish    当客户端停止发布流时
on_play         当客户端开始播放流时
on_stop         当客户端停止播放时
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

httpcallback配置

vhost test.com {
    http_hooks {
        enabled         on;
        on_connect      http://127.0.0.1:8085/api/v1/clients;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

那到底怎样实现防盗链呢,举个栗子吧,srs配置就上面那样,假如我们有一个流rtmp://test.com/live/livestream 
我要加上防盗链,此时访问的url会变成rtmp://test.com/live/livestream?key=91D4929E1810F90B&time=1442567098 
防盗链的信息就放在query中key和time中,当客户端来访问的时候,就会触发on_connect事件,继而srs回调http://127.0.0.1:8085/api/v1/clients这个地址,并且将请求的url等信息post上来,我们只要验证key和time是否正确就可以了 
如果正确返回200状态码内容为0,srs则继续服务此客户端 
如果不正确返回200状态码内容为-1,srs则会断开此客户端

你可能感兴趣的:(srs)