操作系统:centos7.5
一、安装部署turnserver
yum install -y make gcc cc gcc-c wget
yum install -y openssl-devel libevent libevent-devel mysql-devel mysql-server
wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar zxvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable && ./configure
sudo make && sudo make install && cd ..
wget http://turnserver.open-sys.org/downloads/v4.4.5.2/turnserver-4.4.5.2.tar.gz
tar -zxvf turnserver-4.4.5.2.tar.gz
cd turnserver-4.4.5.2 && ./configure
sudo make && sudo make install
生成turnserver的pem秘钥对:
openssl req -x509 -newkey rsa:2048 -keyout turn_server_pkey.pem -out turn_server_cert.pem -days 99999 -nodes
turnserver配置文件。(注意:有多个网卡,内网ip有两个网段,用户网段和上网出口网段不是同一个,则listening-ip需要把两个内网ip都配置上,用/号隔开)
启动turnserver:
turnserver -o -a -f -user=myname:12345678 -r tencent_webrtc
二、部署安装nginx
把申请好的ssl域名证书拷贝到服务器上
把nginx.conf配置文件写好,上传的服务器上
启动nginx服务(注意因为缺少logs目录,需要到对应的目录下建立logs目录)
域名解析
测试nginx的websocket代理是否能正常转发数据,如果有json格式数据返回,则表示正常转发。返回error是正常的,因为没有带参数。
如果想要测试正常的返回值,可以从打开TRTC官网demo, f12页面里面拷贝出来测试
修改demo代码,设置ningx和turnserver代理
如果本地能上网,则会优先直连,所以要把本地连接远端的端口UDP 8000, 8080, 16285给封掉。添加防火墙规则:
抓包:ip.dst == turnserver ip
如果有channeldata数据包,则表示数据已经是走turnserver转发