nginx配置视频流加密防盗链(二)配置nginx的conf文件

本文章主要是介绍nginx的conf文件配置来达到加密防盗链

要进行文件配置和MD5加密,需要先安装插件,插件的安装请参考nginx配置视频流加密防盗链(一)安装nginx插件_秋之失忆的博客-CSDN博客

配置nginx的conf文件拦截加密

1、进入到conf目录,目录如下
 

[root@localhost conf]# pwd
/usr/local/nginx/conf

2、修改配置文件
 

[root@localhost conf]# vim nginx.conf

3、添加代码,这里是对9999端口进行监听,然后转发给8888
 


    server {
        listen       9999;
        server_name  localhost;

         if ($time_iso8601 ~ "(\d{4}-\d{2}-\d{2})") {
            set $tttt $1;
          }

       location ~* /sample/.*\.m3u8$ {
             proxy_http_version 1.1;
             proxy_pass http://127.0.0.1:8888;
             proxy_connect_timeout 6500;
             proxy_read_timeout 400;
             proxy_send_timeout 400;
             accesskey             on;
             accesskey_hashmethod  md5;
             accesskey_arg         "key";
             accesskey_signature "pwd$remote_addr$tttt";
         }

        location ~* /sample/.*\.ts$ {
             proxy_pass http://127.0.0.1:8888;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

4、重新加载配置文件
 

[root@localhost sbin]# pwd
/usr/local/nginx/sbin
[root@localhost sbin]# ./nginx -s reload


5、测试
我服务器的视频流测试地址:http://192.168.3.212:8888/sample/02/stream.m3u8
因为监听端口是9999,所以修改地址后为:http://192.168.3.212:9999/sample/02/stream.m3u8
由于地址9999端口是被监听,所以会被拦截,去判断key参数,上面请求无参数,所以无法正常播放。


key参数由字符串“pwd”+访问电脑的ip地址+服务器时间年-月-日  组合而成,再经过md5加密。


例如访问电脑为192.168.3.111,服务器时间为2022-09-09,那么最终组合的字符串为:pwd192.168.3.1112022-09-09,经过md5加密后,为:71aeb0f6cc85c6248cbaf6cf36e91236


所以,最终的地址为:http://192.168.3.212:9999/sample/02/stream.m3u8?key=71aeb0f6cc85c6248cbaf6cf36e91236

总结:

防盗链的原理是通过监听服务端口在转发请求的时候添加参数,然后对参数进行一个简单的判断。

但是如果参数的明文那么意义不大,所以要对参数进行MD5加密,通过nginx的插件进行比对,参数一致则正常转发,否则就返回错误。

MD5的参数设置可以自行发挥

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值