博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx-rtmp加入权限验证的简单方法
阅读量:6151 次
发布时间:2019-06-21

本文共 1710 字,大约阅读时间需要 5 分钟。

nginx-rtmp-module默认不限制推流权限、播放权限。如果想加入权限验证,有很多种方法。

 

方法一:修改源码如:

如何给 nginx rtmp 服务加入鉴权机制

http://blog.csdn.net/cui918/article/details/53540397

 

方法二:修改nginx配置如:

http://blog.csdn.net/iam_shuaidaile/article/details/50599943

 

崇尚简单的话,直接修改配置就好。

其实还可以更简洁,仅修改nginx配置文件,不用跳转到第三方web服务。

主要是利用on_publish跳转到当前配置的一个“location”,在这里进行验证。关键点在于rtmp application节点下面要配置“notify_method get;”为什么呢?因为跳转的时候,默认以POST方式传输参数,修改成GET方式,nginx配置里就可以轻松处理了。(当然nginx通过配置文件也可以处理post,只是复杂一些)。

 

 

本次测试使用的是win32版 nginx-rtmp,下载地址为:

https://codeload.github.com/illuspas/nginx-rtmp-win32/zip/master

下载后解压,修改配置文件nginx.conf(可直接复制使用,删除了一些与本次测试无关的配置项,熟悉nginx配置的朋友也可在自己的配置文件中灵活修改)

****************************** nginx.conf******************************

worker_processes  1;

 

error_log logs/error.log debug;

 

events {

   worker_connections  1024;

}

 

rtmp {

   server {

       listen 8035;

 

       application live {

           live on;

                     notify_methodget;

                     on_publishhttp://127.0.0.1:8033/on_publish;

       }

    }

}

 

http {

   server {

       listen 8033;

 

              location/on_publish{

                     default_typetext/html;

                     set$pass 0;

                     if($query_string ~* "pass=(.+)$") {

                            set$pass $1;

                     }

 

                     if($pass = 89437589) {

                            return200 pass.......$pass;

                     }

                     if($pass != 89437589) {

                            return404;

                     }

              }            

       }

}

 

 

******************************ffmpeg推流一:不加验证,失败******************************

ffmpeg -i "rtsp://admin: admin@192.168.0.231/h264/ch1/sub/av_stream"-c:v copy -c:a copy -f flv "rtmp://127.0.0.1:8035/live/t1"

 

 

 

******************************ffmpeg推流二:加验证,成功******************************

ffmpeg -i "rtsp://admin: admin@192.168.0.231/h264/ch1/sub/av_stream"-c:v copy -c:a copy -f flv"rtmp://127.0.0.1:8035/live/t1?user=abc&pass=89437589"

 

 

 

******************************小结******************************

如果要控制播放权限,则用on_play跳转,方法类似。

转载于:https://www.cnblogs.com/luoc83/p/8412649.html

你可能感兴趣的文章
微信中如何实现点击链接或者扫描二维码跳转到手机默认浏览器打开指定链接URL...
查看>>
html input(或textarea) placeholder color 设置
查看>>
SpringMVC的基础知识整理(5)注解开发和参数绑定
查看>>
怎么在PDF上进行修改文字
查看>>
坐标和变换的数学基础(1)
查看>>
组策略里面设置“只运行许可的windows应用程序”无法运行任何程序的解决方案...
查看>>
Perl中if [-e $file] 判断
查看>>
我的友情链接
查看>>
AS3的splice
查看>>
Linux文件归档、压缩和解压缩
查看>>
数据质量的问题,单表还是应该有一些约束的
查看>>
802.1x工程简单案例
查看>>
开发自己的 chart - 每天5分钟玩转 Docker 容器技术(167)
查看>>
分布式日志收集系统Scribe原理
查看>>
阿里云主机***配置(基于centos6.5)
查看>>
Windows 下Tomcat虚拟主机配置
查看>>
利用Zipkin对Spring Cloud应用进行服务追踪分析
查看>>
VM安装mac安装步骤
查看>>
11月门户网站日均覆盖数TOP10:央视网升至第六
查看>>
10月第4周全球域名商新增注册量十五强:易名中国夺冠
查看>>