nginx反向代理TCP,取RTMP流

nginx反向代理TCP,取RTMP流

一、说明 
nginx默认只支持HTTP反向代理,如果需要支持TCP反向代理需添加tcp代理模块:nginx_tcp_proxy_module。

二、原料 
1.nginx_tcp_proxy_module 
下载地址: 
wget https://github.com/yaoweibin/nginx_tcp_proxy_module/archive/master.zip

2.nginx源码 
http://nginx.org/download/nginx-1.6.3.tar.gz

三、步骤 
1.解压nginx 

2.解压nginx_tcp_proxy_module 
解压至/nginx-1.6.3/src/nginx_tcp_proxy_module

3.patch

cd /usr/wkdir/nginx-1.6.3

patch -p1 < src/nginx_tcp_proxy_module/tcp.patch

 
 
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

4.编译&安装

./configure --add-module=src/nginx_tcp_proxy_module-master
 
 
  • 1
  • 1

如果报错缺少库,则安装相应库,如openssl

ubuntu下解决办法:

apt-get install openssl

apt-get install libssl-dev

centos下解决办法:

yum -y install openssl openssl-devel
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

继续编译安装

make
make install
 
 
  • 1
  • 2
  • 1
  • 2

5.修改配置文件 
在nginx.conf中添加,模块指令是TCP,它是不属于HTTP框架内的,所以和HTTP{}同级别

tcp {
    upstream proxy_name {
        # simple round-robin
        server localhost:1935;#需要代理的端口

        #check interval=3000 rise=2 fall=5timeout=1000;
        #check interval=3000 rise=2 fall=5timeout=1000
        #check interval=3000 rise=2 fall=5timeout=1000
        #check_http_send "GET /HTTP/1.0\r\n\r\n";
        #check_http_expect_alive http_2xxhttp_3xx;
    }

    server {
        listen 8888; #代理8888端口

        proxy_pass proxy_name;
    }
}
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

6.测试 
启动nginx

./usr/local/nginx/sbin/nginx
 
 
  • 1
  • 1

启动srs

./usr/local/srs/objs/srs -c conf/srs.conf
 
 
  • 1
  • 1

使用ffmpeg推rtmp流到srs服务器(端口1935),然后通过vlc或者其他方式到代理端口8888获取rtmp流.

自测试成功!



通过访问:rtmp://127.0.0.1:7777/live/0 就可以访问到rtmp://10.0.192.82/live/0的流,但是因为是反向代理,所有的流到要经过反向代理服务器转发一次。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sunxiaopengsun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值