Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >TRTC web端内网环境怎么设置代理?

TRTC web端内网环境怎么设置代理?

原创
作者头像
超级佩奇
修改于 2021-09-07 09:12:36
修改于 2021-09-07 09:12:36
5K0
举报
文章被收录于专栏:内网环境内网环境

TRTC web端内网环境怎么设置代理?

可采用Nginx+coturn 代理方案

方案名

适用场景

网络要求

方案一

允许客户端访问特定的外网代理服务器

允许客户端访问外网的proxy s erver

方案二

允许客户端通过内网代理服务器访问外网

允许 proxy server 访问外网

方案一示意图

image.png
image.png

方案二示意图

image.png
image.png

说明:

1.两种方案使用相同的 trtc.js 设置代理方法;

2.两种方案服务器的部署方式有差别,参考部署方案(方案 1方案 2);

3.示意图 Nginx 服务器用于信令代理(websocket);

4.示意图 TURN 服务器用于音视频数据代理(RTCPeerconnection)。

trtc.js 设置代理的接口

通过 Client 中的方法设置代理服务器地址(示例):

代码语言:txt
AI代码解释
复制
client.setProxyServer('wss://proxy.example.com:443'); 
client.setTurnServer({ url: '192.168.0.110:3478', username: 'bob', credential: 'bobspassword', credentialType: 'password' }); 

接口参数及说明可参见文档

setProxyServer(url)

  • 设置代理服务器
  • 该方法适用于企业自己部署代理服务器,如 ngnix+coturn 方案。 Note: 该方法需要在 join() 之前调用。

Name

Type

Description

url

string

websocket 代理服务器地址,格式如:‘wss://proxy.example.com:443’

setTurnServer(config)

  • 设置 TURN 服务器
  • 该方法配合 setProxyServer() 使用,适用于企业自己部署代理服务器和 TURN 中转。 Note: 该方法需要在 join() 之前调用。

Name

Type

Description

config

object

TURN 服务器配置项

config 属性说明:

Name

Type

Attrbutes

Description

url

string

TURN 服务器地址

username

string

<optiona>

TURN 服务器验证用户名

credential

string

<optiona>

TURN 服务器验证密码

credentialType

string

<optional>

TURN 服务器验证密码类型,默认是 ‘password’ credentialType 参考

实际示例:

代码语言:txt
AI代码解释
复制
const client = TRTC.createClient({ 
mode: 'videoCall', 
sdkAppId, 
userId, 
userSig 
}); 
 
client.setProxyServer('wss://proxy.example.com:443'); 
client.setTurnServer({ url: '192.168.0.110:3478', username: 'bob', 
credential: 'bobspassword', credentialType: 'password' }); 

client 
 .join({ roomId }) 
 .catch(error => { 
console.error('进房失败 ' + error); 
}) 
.then(() => { 
console.log('进房成功'); 
 }); 

说明:

1.在受限网络场景下,trtc.js 通过 Nginx 代理服务器与 TRTC 云端建立连接进行信令

交互;

2.在受限网络场景下,trtc.js 通过 TURN 服务器对音视频数据进行中转,与 TRTC 云

端进行音视频数据交互;

3.TURN 服务器的均衡,可以通过设置一组 TURN 服务器的地址,trtc.js 会在内部进

行随机选择,避免同一台服务器压力过大。

代理服务器部署方案

TRTC 提供开源代理服务器安装脚本,企业用户按下面方法部署代理服务器。具体步骤如

下:

方案一

1.部署 Nginx 服务器

参考 Nginx 服务器安装教程 在 CentOSUbuntu 系统中安装 Nginx,如果企业已有部

署 Nginx 服务,可以不用部署直接进行配置。

2.配置 Nginx 服务器
代码语言:txt
AI代码解释
复制
vi /etc/nginx/nginx.conf 
server { 
#对应参数 signalProxy 中的域名 proxy.trtcapi.com 
server_name proxy.trtcapi.com; 
#对应参数 signalProxy 中的端口 443 
listen 443; 

ssl on; 

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 ./crt/1_proxy.trtcapi.com_bundle.crt; 
ssl_certificate_key ./crt/2_proxy.trtcapi.com.key; 
} 
3.执行重新加载 Nginx
代码语言:txt
AI代码解释
复制
sudo nginx -s reload
4.部署 TURN 服务器

建议在 CentOSUbuntu 上安装部署 coturn。

5.TURN 服务器配置( /etc/turnserver.conf )
代码语言:txt
AI代码解释
复制
vi /etc/turnserver.conf 
//#指定中转服务器监听端口 
listening-port=3478 

//#本机的 ip 
listening-ip=172.27.0.13 

//#在外网的 ip 地址 
external-ip=148.70.115.45 

//#可以分配给客户端连接使用最小端口和最大端口 
min-port=59900 
max-port=60000 
 
//#面向内网客户端的用户名和密码 
user=myname:12345678 

//#服务名称 
server-name=tencent_webrtc 
realm=tencent_webrtc 

//#证书生成参考下面说明 
cert=../etc/turnserver/turn_server_cert.pem 
pkey=../etc/turnserver/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
6.启动 TURN 服务
代码语言:txt
AI代码解释
复制
turnserver -c /etc/turnserver.conf
7.服务器端口开启

打开 turn 服务器的 3478 和( min-port ~ max-port )之间端口

8.公司防火墙设置

确认公司防火墙对部署的 nginx 和 TURN 服务器 IP 限制访问解除。

方案二

1.部署 Nginx 服务器(同方案一)
2.配置 Nginx 服务器(同方案一)
3.执行重新加载 nginx(同方案一)
4.部署 TURN 服务器(同方案一)
5.TURN 服务器配置( /etc/turnserver.conf )

和方案一区别:在 external-ip 上填服务器在内网的地址。

代码语言:txt
AI代码解释
复制
//#指定中转服务器监听端口 
listening-port=3478 

//#本机的 ip 
listening-ip=172.27.0.13 
 
//#服务器在内网的 ip 
external-ip=148.70.115.45 

//#可以分配给客户端连接使用最小端口和最大端口 
min-port=59000 
max-port=60000 

//#面向内网客户端的用户名和密码 
user=myname:12345678 

//#服务名称 
server-name=tencent_webrtc19. realm=tencent_webrtc 

//#证书生成参考说明 
cert=../etc/turnserver/turn_server_cert.pem 
pkey=../etc/turnserver/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
6.启动服务(turnserver.conf)
代码语言:txt
AI代码解释
复制
turnserver -c /etc/turnserver.conf
7.turn 服务器端口开启

打开 turn 服务器的 3478 和(min-port - max-port)之间端口。

8.公司防火墙设置

确认内网部署的 Nginx 和 TURN 服务器,可以访问外网。

确认内网部署的 Nginx 和 TURN 服务器,可以访问外网。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
[免费域名]免费撸.tk、.ml、.gq、.ga、.cf域名亲测教程
看到很多友友还在用别人的二级域名,要想自己的网站让更多人访问,域名也是一个很关键的,好的域名一天什么都不干都有流量。所以赶快去撸几个简短,好看,炫酷的一级域名吧,不要落后了,说不定以后这域名很值钱呢。
Youngxj
2018/06/07
55K7
11个国内外免费域名解析服务
 一般域名使用注册商提供的域名解析服务虽然方便,但功能大多有限,特别是目前国内还会针对某些DNS服务器进行屏蔽,造成网站无法解析的情况出现,因此,使用第三方域名解析服务也是中国网站的必要选择,这里就介绍一些常见的免费域名解析服务。 域名注册商提供的免费服务 Godaddy:不在Godaddy注册域名,也可以使用Godaddy的域名解析服务,使用方法很简单,登录Godaddy网站后,点击“Add Off-site DNS”即可添加用户的域名,之后将用户域名的DNS设置为Godaddy指定的地址,域名DNS生效
小小科
2018/05/02
27.4K1
域名解析后主机记录和记录值怎么填写?都是什么意思?
>之前我买的域名在腾讯云解析之后,需要添加记录,开始一脸懵啊,在网上搜查了一些资料,整理了一下,希望为大家解点惑吧! 主机记录: 主机记录就是域名前缀,常见用法有: www:解析后的域名为 www.1
双愚
2018/05/28
79.7K3
CloudFlare:免费CDN加速-自定义节点IP教程
为什么要使用CDN? 内容分发网络(英语:Content Delivery Network或Content Distribution Network,缩写:CDN)是指一种透过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、影片、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。简单总结有以下几点优势。
骤雨重山
2022/01/17
16.3K0
CloudFlare:免费CDN加速-自定义节点IP教程
使用DNSPod管理 华夏名网 DNS域名解析
DNSPod 免费域名解析服务是很不错的,设置方便、解析稳定、生效快。站长使用 DNSPod 一年多了,一直很稳定,以前分享过 DNSPod域名解析管理最新教程(以GoDaddy域名为例) ,今天看到蓝冰介绍的 华夏名网 域名如何修改DNS到DNSPOD,正好站长一直没有在国内注册过域名,转载过来,估计有朋友用的上。
星哥玩云
2022/08/13
6.1K0
使用DNSPod管理 华夏名网 DNS域名解析
使用 github, gitbook, markdown 写博客/写书
s1mba
2017/12/28
2.2K0
使用 github, gitbook, markdown 写博客/写书
速来围观,你们要的迁移合集来啦!
今年的双十一,腾讯云各大产品新购都给出了新高的优惠力度。 除了新购,续费活动比初恋还令人心动。 这种时候,相信很多人都想把自己的各种业务都转来我们良心云了! 因为,D妹最近经常会被问到以下各种问题: 我的服务器在xx云,怎么迁移过来呢? 我的域名和DNS解析在xx云,迁移过来影响备案吗? 我的对象存储在xx云,怎么转到腾讯云呢? 我的CDN在xx云,想切换到腾讯云怎么做? 那么今天,我们整理了五个最常见的迁移场景,强烈建议各位转发收藏,妈妈再也不用担心我需要全网找攻略啦! 01 域名转入 简
腾讯云DNSPod团队
2020/11/23
10.4K0
国内外提供免费的域名DNS解析的服务商
是不是该来的时候了!CloudXNS将很快停止免费用户的域名解析!还是世界上没有“永久”的免费服务?! 哪个适合我们的域名?让我们给你推荐一些。 博客作者计划将xtboke.cn域名放入域名。博客部署在滕循云,域名解析也由滕循云~ 获得 也有很多老板把域名放入华为的云中~ ~ 我们可以根据以下几点进行选择。 1)您网站的用户群是国内的还是国外的? 2)域名是否存档? 3)域名是否已被工业和信息化部列入黑名单? 4)国内域名系统为国内提供智能线路划分。 5)它是合法网站吗? 6)参考服务提供商的规模。 7)服务提供商提供高级功能。我们能使用它们吗?
Erwin
2020/01/02
29.8K0
负载均衡结合DNSPOD实现全局负载
接到一个客户的需求,想让北京的用户就近访问北京的服务节点,上海用户访问上海的服务节点,通过负载均衡绑定后端服务,怎么实现?
喜子
2021/12/29
1.2K0
域名是如何关联到CDN的
用户在访问一个域名的时候,网络中是怎么知道这个域名到底是配置在哪一个CDN厂商的呢?
灰子学技术
2020/04/26
4.6K0
GoDaddy 域名解析最新图文教程(A记录/CNAME/MX/NS)
GoDaddy是全球最大的域名注册商之一,具备功能强大、服务稳定、解析快速等特点,深受国内外站长的喜欢。今天笔者分享 GoDaddy.com 域名解析最新图文教程,包括A记录、CNAME、MX、NS等方面。
星哥玩云
2022/08/13
8.4K0
GoDaddy 域名解析最新图文教程(A记录/CNAME/MX/NS)
我是如何在两天内做完一个网站的
有点标题党的嫌疑,不过确实网站的主体是在两天内的完成的,后面只是抓取了素材和完善细节。以下内容绝对是赤裸裸的干货。
lyb-geek
2019/08/12
12.8K1
我是如何在两天内做完一个网站的
2015年最后一波儿优惠~
据国外媒体报道,本月初互联网域名根服务器遭两次大规模DDoS攻击,每秒500万次!相当于一个根服务器正常数据加载量的250倍!13个关键服务器有3个在几个小时里基本瘫痪。 又到年终岁末,任何对DNS基础架构的攻击都应备受重视。游戏网站经常被攻击?电商网站载入太慢?视频网站卡顿太多?是时候尝试使用云解析了~ >>>> 云解析为网站护航! DNSPOD云解析,拥有全球最领先的云DNS集群技术,超过463台服务器在同时提供专业解析服务,能实时监测并抵御DNS攻击,单机可承受高达1100万Q/s请求量,时刻为你的网
腾讯云DNSPod团队
2023/05/04
2.6K0
2015年最后一波儿优惠~
如何正确变更 DNSPod 解析套餐(降级场景)
本文将指导您如何完成 DNSPod 解析套餐的变更,适用于降级场景(将套餐由高版本改至低版本,如企业版更换为专业版)。
Im小泽
2024/04/02
4660
DNSPod携手腾讯云布局云服务一体化战略
DNSPOD在创业道路上一路驰骋壮大,在日行千里的互联网大业中我们始终保持着以服务用户为我们逐梦的目标。未来我们将携手腾讯云一起布局云服务一体化战略。站在巨人肩上,我们一起腾云起航。你的解析,我们不变的梦想。 为感谢新老用户对DNSPod的厚爱与支持,9月15日-9月26日,我们携手腾讯云重磅推出一大波D优惠活动,立买立送!助力企业新梦想。逐梦的岁月里,我们一起疯狂…….新注册DNSPod帐号和腾讯云帐号,即送100元腾讯云服务现金劵哦~ 助力对象:所有新购买DNSPOD产品及老客户续约均可享受,已经是腾讯
腾讯云DNSPod团队
2023/05/04
1.1K0
DNSPod携手腾讯云布局云服务一体化战略
腾讯云服务器域名解析教程 ?
步骤1:添加记录 登录 腾讯云 DNS 解析控制台。 在 “域名解析列表” 中,可查看全部已添加的域名。如下图所示: 说明: 若您的域名已在腾讯云注册,则默认添加到 DNS 解析列表。 若您需添加解析的域名未在腾讯云注册,请单击【添加域名】,在弹出的窗口中,根据实际需求,填写您需要解析的域名。 图片 在 “域名解析列表” 中,选择需要解析的域名行,单击【解析】。 在 “记录管理” 页签中,可以通过单击【快速添加网站/邮箱解析】添加解析记录。 注意: 快速添加网站解析将为您添加两条 A 记录,主机记
青梅煮码
2023/01/16
34.7K0
腾讯云服务器域名解析教程 ?
GoDaddy设置DNS绑定主机以及添加A记录域名解析完整过程
不论我们在哪家域名注册商购买域名,我们如果需要搭建网站就需要用到解析域名至主机IP的操作。比如我们在Godaddy注册域名之后,很多用户不会操作Godaddy域名解析的设置,因为后台界面是英文以及面板不是我们熟悉的界面,尤其是新手用户可能不知如何解决,网上搜索出来的很多教程都是过期的,因为Godaddy经过多次的改版目前的界面比较新。
老蒋
2021/12/24
17.6K0
GoDaddy设置DNS绑定主机以及添加A记录域名解析完整过程
小白搭建博客教程-域名解析(3)
2016-06-1015:56:17 发表评论 1,115℃热度 上一回说道:小白搭建博客教程之流程,这次趁着端午节写完它,也算是一个了结。 教程有4篇: 购买域名; 购买虚拟主机并搭建(Linux)
timhbw
2018/05/03
3.7K0
域名、解析、证书、备案等产品常见问题
腾讯云将于 9.1 起支持APP备案,详情请查看:https://cloud.tencent.com/announce/detail/1971
Im小泽
2022/04/27
21.3K0
Godaddy域名解析速度慢问题以及如何使用DNSPod解析解决
分析:不解析域名打开的网站很快,去ping了服务器ip,发现速度也是很快,显然是域名解析出了问题。
CtrlX
2022/08/10
6.4K0
Godaddy域名解析速度慢问题以及如何使用DNSPod解析解决
推荐阅读
相关推荐
[免费域名]免费撸.tk、.ml、.gq、.ga、.cf域名亲测教程
更多 >
LV.1
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档