专网环境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月前
|
监控 安全 数据安全/隐私保护
企业组网:构建智慧型网络基础设施,驱动未来商业发
随着数字化进程,企业组网演变为创新与竞争力的关键。智慧型网络基础设施助力企业内部协作效率提升,外部市场拓展及应对未来挑战。核心要素包括前瞻网络架构、高性能硬件、智能化软件和全面安全。实施策略涉及明确需求、制定方案、精细化实施、全面测试及持续优化,确保网络稳定、高效、安全。
72 3
企业组网:构建智慧型网络基础设施,驱动未来商业发
|
3月前
|
数据采集 边缘计算 UED
必知的技术知识:iNeuOS工业互联平台,机床&PLC硬件网关与平台无缝对接,进行数据交互
必知的技术知识:iNeuOS工业互联平台,机床&PLC硬件网关与平台无缝对接,进行数据交互
25 0
|
10月前
|
存储 监控 物联网
物联网加车联网平台云服务通讯模式
物联网加车联网平台云服务通讯模式
214 0
|
数据采集 传感器 监控
【工业物联网基础】现代企业环境中的DCS(分布式控制系统)和SCADA(站点控制和数据采集)
【工业物联网基础】现代企业环境中的DCS(分布式控制系统)和SCADA(站点控制和数据采集)
|
传感器 消息中间件 XML
【物联网基础】物联网设备和应用程序涉及协议的概述
【物联网基础】物联网设备和应用程序涉及协议的概述
|
Linux
高通平台开发系列讲解(网络篇)内外部拨号方式区别
高通平台开发系列讲解(网络篇)内外部拨号方式区别
281 0
高通平台开发系列讲解(网络篇)内外部拨号方式区别
|
安全
《通讯就是如此简单——构建简单、安全、应用丰富的企业云通信平台》电子版地址
通讯就是如此简单——构建简单、安全、应用丰富的企业云通信平台
66 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容器。
802 0
iNeuOS工业互联平台,部署在智能硬件网关,实现了从边缘端到云端的一体化部署
|
物联网 开发工具
快速解析物联网应用服务设备
产品指某一类设备,创建完产品后,需要为设备创建身份。您可以创建单个设备,也可以批量创建设备。本文为您讲述单个设备的创建。
752 0