配置文件:http://www.cnblogs.com/tinywan/p/5983694.html

通过加密后的文件:

  1. 正确地址:curl -i http://访问的IP地址(这里是直播节点IP地址)/hls/S0000_8.m3u8?key=c7e2d8f498920f1a86e4c95d4a58a27e
  2. 参数错误地址:curl -i http://访问的IP地址(这里是直播节点IP地址)/hls/S0000_8.m3u8?key=c7e2d8f498920f1a86e4c95d4a58a27123213
  3. 没带参数:curl -i http://访问的IP地址(这里是直播节点IP地址)/hls/S0000_8.m3u8

【1】正确地址:  curl -i http://访问的IP地址(这里是直播节点IP地址)/hls/S0000_8.m3u8?key=c7e2d8f498920f1a86e4c95d4a58a27e

  1. www@iZ23a7607jaZ:/home/tinywan$ curl -i http://访问的IP地址(这里是直播节点IP地址)/hls/S0000_8.m3u8?key=c7e2d8f498920f1a86e4c95d4a58a27e
  2. HTTP/1.1 200 OK
  3. Server: nginx/1.8.1
  4. Date: Fri, 21 Oct 2016 09:12:39 GMT
  5. Content-Type: application/vnd.apple.mpegurl
  6. Content-Length: 367
  7. Last-Modified: Fri, 21 Oct 2016 09:12:34 GMT
  8. Connection: keep-alive
  9. ETag: "5809dc02-16f"
  10. Cache-Control: no-cache
  11. Access-Control-Allow-Origin: *
  12. Accept-Ranges: bytes
  13.  
  14. #EXTM3U
  15. #EXT-X-VERSION:3
  16. #EXT-X-MEDIA-SEQUENCE:300
  17. #EXT-X-TARGETDURATION:7
  18. #EXT-X-KEY:METHOD=AES-128,URI="https://myserver.com/keys/S0000_8-300.key",IV=0x0000000000000000000000000000012C
  19. #EXTINF:7.000,
  20. S0000_8-300.ts
  21. #EXTINF:7.000,
  22. S0000_8-301.ts
  23. #EXTINF:7.000,

【2】参数错误地址:curl -i http://访问的IP地址(这里是直播节点IP地址)/hls/S0000_8.m3u8?key=c7e2d8f498920f1a86e4c95d4a58a27123213

  1. www@iZ23a7607jaZ:/home/tinywan$ curl -i http://访问的IP地址(这里是直播节点IP地址)/hls/S0000_8.m3u8?key=c7e2d8f498920f1a86e4c95d4a58a27123213
  2. HTTP/1.1 403 Forbidden
  3. Server: nginx/1.8.1
  4. Date: Fri, 21 Oct 2016 09:14:30 GMT
  5. Content-Type: text/html
  6. Content-Length: 168
  7. Connection: keep-alive
  8.  
  9. <html>
  10. <head><title>403 Forbidden</title></head>
  11. <body bgcolor="white">
  12. <center><h1>403 Forbidden</h1></center>
  13. <hr><center>nginx/1.8.1</center>
  14. </body>
  15. </html>

【3】没有携带参数访问:curl -i http://访问的IP地址(这里是直播节点IP地址)/hls/S0000_8.m3u8

  1. www@iZ23a7607jaZ:/home/tinywan$ curl -i http://访问的IP地址(这里是直播节点IP地址)/hls/S0000_8.m3u8
  2. HTTP/1.1 403 Forbidden
  3. Server: nginx/1.8.1
  4. Date: Fri, 21 Oct 2016 09:15:15 GMT
  5. Content-Type: text/html
  6. Content-Length: 168
  7. Connection: keep-alive
  8.  
  9. <html>
  10. <head><title>403 Forbidden</title></head>
  11. <body bgcolor="white">
  12. <center><h1>403 Forbidden</h1></center>
  13. <hr><center>nginx/1.8.1</center>
  14. </body>
  15. </html>
  16. www@iZ23a7607jaZ:/home/tinywan$

【4】Nginx config配置文件:

  1. http {
  2. include mime.types;
  3. default_type application/octet-stream;
  4.  
  5. log_format main '[$time_local][$remote_addr][$http_x_forwarded_for] $status "$request" "$http_referer" "$http_user_agent"';
  6.  
  7. access_log logs/access.log main;
  8.  
  9. sendfile on;
  10. keepalive_timeout 65;
  11.  
  12. server {
  13. listen 443 ssl;
  14. server_name example.com;
  15.  
  16. #ssl_certificate /var/ssl/example.com.cert;
  17. #ssl_certificate_key /var/ssl/example.com.key;
  18.  
  19. location /keys {
  20. root /tmp;
  21. }
  22. }
  23. server {
  24. set $wwwroot /home/www/node/html;
  25.  
  26. listen 80;
  27. server_name 127.0.0.1;
  28. index index.html;
  29. root $wwwroot;
  30. access_log logs/node.access.log main;
  31.  
  32. location /rtmp/stat {
  33. rtmp_stat all;
  34. rtmp_stat_stylesheet rtmpstat.xsl;
  35. }
  36.  
  37. location /rtmpstat.xsl {
  38. }
  39.  
  40. location /rtmp/control {
  41. rtmp_control all;
  42. }
  43.  
  44. location ~* /hls/.*\.m3u8$ {
  45. types {
  46. application/vnd.apple.mpegurl m3u8;
  47. }
  48. root /tmp;
  49. add_header Cache-Control no-cache;
  50. add_header Access-Control-Allow-Origin *;
  51. accesskey on;
  52. accesskey_hashmethod md5;
  53. accesskey_arg "key";
  54. #accesskey_signature "password$remote_addr";
  55. accesskey_signature "password120.26.206.180";
  56.  
  57. }
  58.  
  59. location ~* /hls/.*\.ts$ {
  60. types {
  61. video/mp2t ts;
  62. }
  63. root /tmp;
  64. expires 1m;
  65. add_header Cache-Control public;
  66. add_header Access-Control-Allow-Origin *;
  67. }
  68.  
  69. #error_page 404 /404.html;
  70.  
  71. error_page 500 502 503 504 /50x.html;
  72. location = /50x.html {
  73. root html;
  74. }
  75.  
  76. location /hls {
  77. accesskey on;
  78. accesskey_hashmethod md5;
  79. accesskey_arg "key";
  80. accesskey_signature "password$remote_addr";
  81. #accesskey_signature "password115.29.201.161";
  82.  
  83. alias /tmp/hls;
  84. }
  85.  
  86. location /control {
  87. rtmp_control all;
  88. }
  89.  
  90. }
  91.  
  92. }
  93.  
  94. rtmp {
  95. server {
  96. listen 1935;
  97. ping 30s;
  98. notify_method get;
  99. drop_idle_publisher 3s;
  100.  
  101. application live {
  102. live on;
  103. #pull rtmp://121.40.133.183/live/206 name=206;
  104. #exec /home/www/bin/rtmpHLS.sh $name;
  105. exec /home/www/bin/autoRecord.sh $name;
  106. exec_kill_signal term;
  107. #exec_play /home/www/bin/execPlay.sh $name;
  108. #on_play http://sewise.amai8.com/authcheck/play;
  109. #录像模块
  110. recorder rec1 {
  111. record all manual;
  112. record_unique on;
  113. record_notify on;
  114. record_max_size 512M;
  115. #record_interval 30s;
  116. record_path /data/recorded_flvs;
  117. record_suffix all.flv;
  118.  
  119. #录像停止后,先判断是否能上传,允许后则将录像上传到OSS/
  120. exec_record_done /home/www/bin/rtmpRecorded.sh $name $path $filename $basename $dirname;
  121. }
  122.  
  123. }
  124. hls on;
  125. hls_path /tmp/hls;
  126. #hls_sync 100ms;
  127.  
  128. hls_keys on;
  129. #hls_key_path /tmp/keys;
  130. hls_key_url https://myserver.com/keys/;
  131. hls_fragments_per_key 10;
  132.  
  133. }
  134. }
  1.  

Nginx模块学习之————accesskey权限模块使用(简单的m3u8防盗链)的更多相关文章

  1. Nginx模块学习之————accesskey权限模块使用(Nginx防盗链详细解说),防止别人下载文件和图片

    nginx 的第三方模块ngx_http_accesskey_module 来实现下载文件的防盗链 1.具体安装教程:http://www.cnblogs.com/tinywan/p/5983694. ...

  2. Python3 学习第九弹: 模块学习二之文件管理模块

    os模块 提供访问操作系统的接口 1> name 获得当前操作系统 其中 'nt' 是 windows 'posix' 是 linux 2> environ 获得当前系统的环境变量的字典, ...

  3. Scikit-Learn模块学习笔记——数据预处理模块preprocessing

    preprocessing 模块提供了数据预处理函数和预处理类,预处理类主要是为了方便添加到 pipeline 过程中. 数据标准化 标准化预处理函数: preprocessing.scale(X, ...

  4. scikit-learn模块学习笔记(数据预处理模块preprocessing)

    本篇文章主要简单介绍sklearn中的数据预处理preprocessing模块,它可以对数据进行标准化.preprocessing 模块提供了数据预处理函数和预处理类,预处理类主要是为了方便添加到pi ...

  5. 【Python】模块学习之利用string模块造测试数据

    背景 测试过程中需要一些随机数据,使用到了python中的string模块,记录一下 #! /usr/bin/python # coding:utf-8 """ @aut ...

  6. Python3 学习第十四弹: 模块学习六之re模块 + 正则表达式 (转)

    本文转自 AstralWind 的博客:Python正则表达式指南 特来收藏 1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有 ...

  7. Redis模块学习笔记(一)RediSearch简单使用

    说明:安装的Redis服务器必须为 4.0 以上版本,通过info命令查看 > INFO redis_version: 一.安装 RediSearch git clone https://git ...

  8. springboot + shiro 构建权限模块

    权限模块基本流程 权限模块的基本流程:用户申请账号和权限 -->登陆认证 -->安全管控模块认证 -->调用具体权限模块(基于角色的权限控制) --> 登陆成功 -->访 ...

  9. nginx之rewrite及防盗链

    rewrite示例-自动跳转https 示例1:自动把首页的http转化成https location / { root /data/nginx/pc/html; index index.html; ...

随机推荐

  1. rsync 排除指定目录或文件进行同步

    很常见的情况:我想同步/myweb下的 一些php文件 ,  但是不想复制/myweb/log/里边的一些日志文件,因为这些文件太大了,备份也是没有意义的. 现在如果想避开某个路径  直接添加—exc ...

  2. 【PHP设计模式 03_JianDanGongChang.php】 简单工厂

    <?php /** * [简单工厂] * 之前 02.php 面向接口开发,客户端还是知道了服务器端的所有类. * 现在想让客户端只知道一个类,就用工厂. */ header("Con ...

  3. 在ECSHOP后台的订单列表中显示配送方式

    熟悉ECSHOP后台的人都知道,只有点击某个具体的订单,进入订单详细页面才能看到该订单的配送方式,最模板修改的目的,是想让管理者在订单列表页面 就能看到该订单的配送方式. 下面是修改方法:首先来修改 ...

  4. win2003 服务器安全设置详细介绍

    第一步:一.先关闭不需要的端口  我比较小心,先关了端口.只开了3389 21 80 1433(MYSQL)有些人一直说什么默认的3389不安全,对此我不否认,但是利用的途径也只能一个一个的穷举爆破, ...

  5. c#之习题

    int n = 1; double zg = 1; double rb = 4; while (zg < rb) { n++; int k = 1; while (k <= 4) { k+ ...

  6. 在IE6下使用filter设置png背景

    今天帮别人解决问题学会了一个在IE6下使用filter设置png背景,具体css写法如下: .login_form_wrap { width: 778px; height: 360px; backgr ...

  7. http模式

    http遵守请求响应模式: 请求: 请求行:HTTP方法-请求的URL-HTTP版本 请求行 空行 消息体 响应: 状态行:HTTP版本-响应码-响应描述 响应头 空行 消息体 其他的重点: http ...

  8. C语言使用fread和fwrite处理任何文件

    1.文件必须以二进制形式打开 FILE* pfile1=fopen("fileone","rb"); FILE* pfile2=fopen("file ...

  9. 正则表达式的使用(C++)

    1.判断手机号是否合法 const regex phonepattern("^[1]+[3,5]+\\d{9}$"); const regex Mobilepatten(" ...

  10. 批量修改文件夹及文件用户权限和用户组权限 centos

    chown -R www *   批量修改目录下所有文件,用户为www chown -R :www *  批量修改目录下所有文件,用户组为www