专网环境TRTC视频平台通讯解决方案

简介: PC客户端处于专网无法与TRTC视频平台通讯(客户必须要外网)

背景:

PC客户端处于专网无法与TRTC视频平台通讯(客户必须要外网) 

image.png

解决方案:

需要一台即能通外网又能通专网的服务器,操作系统Centos7,搭建NGINX服务和TURN服务。
1. Nginx 服务器用于信令代理(websocket);--websocket通讯使用的是wss,需要配置SSL证书。
2. TURN 服务器用于音视频数据代理(RTCPeerconnection)。

image.png

服务配置与搭建

NGINX

  1. 安装nginx服务
  2. 生成SSL证书
  3. openssl genrsa -des3 -out cert.key 1024 #生成1024的证书私钥
  4. openssl req -new -key cert.key -out cert.csr
  5. cp cert.key cert.key.bak
  6. openssl rsa -in cert.key.bak -out cert.key
  7. openssl x509 -req -days 365 -in cert.csr -signkey cert.key -out cert.pem
  8. openssl pkcs12 -export -clcerts -in cert.pem -inkey cert.key -out cert.p12
  9. openssl pkcs12 -in cert.p12 -nocerts -nodes -out cert.key
  10. openssl rsa -in cert.key -out cert_pri.pem
  11. openssl rsa -in cert.key -pubout -out cert_pub.pem
  12. 配置nginx.conf

server {

            #对应参数 signalProxy 中的域名 proxy.trtcapi.com
            server_name www.lovezz.net.cn;
            #对应参数 signalProxy 中的端口 443
            listen 443 ssl ;

            location /ws/ { #对应参数 signalProxy 中的"ws"
            proxy_pass https://qcloud.rtc.qq.com:8687/; # TRTC 的服务器
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            }

            #域名对应的 SSL 证书,HTTPS 用,用户自行申请
            ssl_certificate /home/ssl/cert.pem;
            ssl_certificate_key /home/ssl/cert.key;

            ssl_session_cache shared:SSL:1m;
            ssl_session_timeout 5m;
            ssl_protocols SSLv2 SSLv3 TLSv1;

            ssl_ciphers HIGH:!aNULL:!MD5;

    }
  1. 重启nginx

TURN

  1. 安装部署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
vi /etc/turnserver.conf

  1. 创建turnserver.conf配置

listening-port=3478
#本机的 ip
listening-ip=127.0.0.1
#在外网的 ip 地址
external-ip=1.116.68.120
#可以分配给客户端连接使用最小端口和最大端口
min-port=59900
max-port=60000
#面向内网客户端的用户名和密码
user=myname:12345678
#服务名称
server-name=tencent_webrtc
realm=tencent_webrtc
#证书生成参考下面说明
cert=/home/turn_server_cert.pem
pkey=/home/turn_server_pkey.pem
#处理数据中转的线程个数
relay-threads=10
simple-log
fingerprint
lt-cred-mech
no-loopback-peers
no-multicast-peers
no-tcp
no-tls
no-cli
no-tlsv1
no-tlsv1_1
mobility

  1. 启动turnserver

turnserver -o -a -f -user=myname:12345678 -r tencent_webrtc

trtc.js 设置代理的接口

通过 Client 中的方法设置代理服务器地址(示例):
client.setProxyServer('wss://xxxxxxx:443');
client.setTurnServer({ url: 'xxxxxxxx:3478', username: 'name', credential: 'password', credentialType: 'password' });

目录
相关文章
|
4月前
|
监控 安全 数据安全/隐私保护
企业组网:构建智慧型网络基础设施,驱动未来商业发
随着数字化进程,企业组网演变为创新与竞争力的关键。智慧型网络基础设施助力企业内部协作效率提升,外部市场拓展及应对未来挑战。核心要素包括前瞻网络架构、高性能硬件、智能化软件和全面安全。实施策略涉及明确需求、制定方案、精细化实施、全面测试及持续优化,确保网络稳定、高效、安全。
76 3
企业组网:构建智慧型网络基础设施,驱动未来商业发
|
3月前
|
数据采集 边缘计算 UED
必知的技术知识:iNeuOS工业互联平台,机床&PLC硬件网关与平台无缝对接,进行数据交互
必知的技术知识:iNeuOS工业互联平台,机床&PLC硬件网关与平台无缝对接,进行数据交互
31 0
|
数据采集 传感器 监控
【工业物联网基础】现代企业环境中的DCS(分布式控制系统)和SCADA(站点控制和数据采集)
【工业物联网基础】现代企业环境中的DCS(分布式控制系统)和SCADA(站点控制和数据采集)
|
Linux
高通平台开发系列讲解(网络篇)内外部拨号方式区别
高通平台开发系列讲解(网络篇)内外部拨号方式区别
288 0
高通平台开发系列讲解(网络篇)内外部拨号方式区别
|
安全
《通讯就是如此简单——构建简单、安全、应用丰富的企业云通信平台》电子版地址
通讯就是如此简单——构建简单、安全、应用丰富的企业云通信平台
69 0
《通讯就是如此简单——构建简单、安全、应用丰富的企业云通信平台》电子版地址
|
供应链 前端开发 vr&ar
传统企业如何通过平台连接互联网
平台,本质就是行业资源的再整合,通过平台可以将企业的资源汇聚,可以为其他接入平台的企业所用,也可以通过平台获取更多的资源。平台的好处是可以让产业链中距离较远的企业群直接接入,从而拉近各行业以及企业。每个企业都可以在平台上选择合适的供应商,或者为其他企业提供资源交换,因此,采购供应与销售也就不再是难题。
157 0
|
数据采集 边缘计算 物联网
iNeuOS工业互联平台,机床&PLC硬件网关与平台无缝对接,进行数据交互
iNeuLink边缘计算网关,在iNeuOS云端操作中起到对下分布式采集数据、对上透明转发数据的作用。对下数据采集支持PLC协议包括:发那科(Fanuc)、西门子(Siemens)、三菱(Mitsubishi)、哈斯(Hass)、凯恩帝(knd)、海德汉(Heidenhain)、兄弟(Brother)、广州数控(GSK)、新代(Syntec),PLC协议包括:ModBus、西门子(Siemens)、三菱(Mitsubishi)、欧姆龙(Omron),其他协议可以定制化扩展。iNeuLink与iNeuKernel(设备容器)进行数据交互,最终使用iNeuView对数据进行视图组态和建模,完成数据
329 0
iNeuOS工业互联平台,机床&PLC硬件网关与平台无缝对接,进行数据交互
|
物联网 API 开发工具
iNeuOS工业互联平台,部署在智能硬件网关,实现了从边缘端到云端的一体化部署
iNeuOS真正实现了从边缘端到云端的一体化部署,完全从底层开发代码,完全实现的自主可控,支持ARM和X86芯片框架,支持Windows操作系统、Linux及国产操作系统、Mac操作系统及Docker容器。
807 0
iNeuOS工业互联平台,部署在智能硬件网关,实现了从边缘端到云端的一体化部署
|
物联网 开发工具
快速解析物联网应用服务设备
产品指某一类设备,创建完产品后,需要为设备创建身份。您可以创建单个设备,也可以批量创建设备。本文为您讲述单个设备的创建。
754 0
|
大数据 数据中心 存储
接力10G,25G将成为数据中心首选解决方案
随着云计算、大数据、移动互联网和智慧城市的兴起,互联网数据流量呈爆发式增长趋势,运营商急需将现有的数据中心升级到云数据中心,以提供更加灵活的业务和应用支撑。目前的数据中心主要是基于10G以太网架构,为了能够处理不断增大的数据负载,这些数据中心必须通过增加与现有基础设施并行的带宽能力实现扩展。
1120 0