用于WebRTC的coturn服务器的搭建
创始人
2024-12-25 22:06:02
0

前言:

        自己在研究WebRTC相关内容,在远端连接老是绕不开搭建ICE服务器,搜索了无数文章和方法,还是久久无进展,最后头皮嗯嘛了才成功,故想总结一下我的搭建步骤,供大家参考,避免少走弯路!!!

1、前期准备

准备一个自己的公网服务器,可以是阿里云或其他都可以,记得在部署时将自己的端口打开,特别是3478端口,千万记得UDP和TCP协议都要打开。然后查看你服务器的内网地址和公网ip:

然后安装各种依赖和软件

yum install git
yum install gcc
yum install gcc-c++
yum install openssl
yum install openssl-devel
yum install libevent2
yum install libevent-devel 

安装完毕后安装coturn包。

mkdir langyang
cd langyang
git clone https://github.com/coturn/coturn.git
cd coturn
./configure 
make 
make install

 查看是否安装成功 which turnserver

2、配置文件

进入文件夹:

cd /usr/local/etc/ 

输入命令将turnserver.conf.default备份

cp turnserver.conf.default turnserver.conf 

 然后建议通过命令在当前文件夹生成签名证书

openssl req -x509 -newkey rsa:2048 -keyout /usr/local/etc/turn_server_pkey.pem -out /usr/local/etc/turn_server_cert.pem -days 99999 -nodes 

 在填写信息时

第一个country name填写cn

state or province 填写guangdong

Locality name 填写 shenzhen

其他随便填

完成后可以看到turn_server_cert.pem和turn_server_pkey.pem两个文件。

 

 然后在当前文件夹下,通过命令创建一个文件turnuserdb.conf用于存储用户名和信息 

cp turnserver.conf.default turnuserdb.conf 

 全部完成后:

 然后利用命令生成账号密码的md5码

turnadmin -k -u langyang -r guangdong -p 123456 

3、修改与编辑

然后用Xftp 7 连接你的服务器修改文件配置,不用这个软件也可以直接在服务器中打开该文件直接修改

 用记事本编辑方式打开turnuserdb.conf 文件,输入用户名和刚才生成的md5码进行保存

langyang:0xbd6f13018e8ae54ec030226a2ca18f20

然后再打开turnserver.conf进行编辑,输入如下配置信息:

#中继服务器监听的IP地址,NAT环境下直接写私网IP地址,可以指定多个IP
listening-ip= 你自己的内网IP
#中继服务器转发地址(本地IP地址将用于传递数据包的给每个端),和监听地址一样
#relay-ip=你自己的公网ip
#外部IP,NAT环境下直接写:公网IP/私网IP
external-ip=公网ip/内网ip
#cli-password=123456
#打开fingerprint的注释,使用长期证书机制。
fingerprint
#打开密码验证,使用短期证书机制。
lt-cred-mech
#服务器名称,用于OAuth认证,默认和realm相同,直接填公网ip.部分浏览器本段不设可能会引发cors错误。
server-name=公网ip
# TURN REST API的长期凭证机制范围,同样设为ip,同server-name.
realm=公网ip
#移动的ICE(MICE)的规范支持。
mobility
#快捷的添加用户是使用user=XXX:XXXX的方式。
user=langyang:123456

保存后,通过bin文件夹下,输入命令开启服务

 cd /usr/local/bin
 turnserver -v -r 你的公网ip:3478 -a -o -c /usr/local/etc/turnserver.conf 

显示如下画面说明已经开启成功了,有relay返回你的内网地址。 

 4、测试

接下来我们要测试开启的turnserver服务器能否起作用,到测试网址:https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/

建议用火狐浏览器访问网址进行测试,chrome浏览器可能会出错

第一栏是 turn:公网ip:端口号 (经测试,如果不填端口号,默认是3478端口)

第二栏是 之前设置的用户名

第三栏是 之前设置的密码

然后点击Add Server 

然后点击下方gather candidates按钮,配置正确返回信息:

 可以看到有服务器所在公网地址返回的信息,能通过turn服务器中转,有relay地址回来说明你的ip穿透成功。

也可以查看turnserver服务器在后台是否运行:

ps -ef|grep turnserver

有多台turnserver服务器在后台,可以用killall turnserver杀掉 。

至此结束,觉得有用可以点个赞哦

相关内容

热门资讯

1分钟教程书!奇迹陕西挂,新道... 1分钟教程书!奇迹陕西挂,新道游app下载(辅助)一直真的有app(哔哩哔哩)1、很好的工具软件,可...
第8分钟烘培!wepoker修... 第8分钟烘培!wepoker修改工具,新二号透视辅助(辅助)其实存在有平台(哔哩哔哩)小薇(辅助器软...
9分钟项目!心悦透明器看手机纸... 9分钟项目!心悦透明器看手机纸牌,随意玩透视辅助软件(辅助)本来有挂修改器(哔哩哔哩)1、下载好心悦...
第八分钟法子!山西大唐辅助,来... 第八分钟法子!山西大唐辅助,来来拼十免费辅助(辅助)真是有挂脚本(哔哩哔哩)进入游戏-大厅左侧-新手...
第十分钟总结!星悦山东辅助,反... 第十分钟总结!星悦山东辅助,反杀大厅辅助(辅助)果然是真的辅助器(哔哩哔哩)运反杀大厅辅助辅助工具,...
两分钟要领!青龙辅助3.0,新... 两分钟要领!青龙辅助3.0,新星游辅助软件(辅助)原来是有app(哔哩哔哩)1、打开软件启动之后找到...
四分钟妙招!好友赣南辅助器,人... 四分钟妙招!好友赣南辅助器,人海大厅脚本(辅助)总是有挂插件(哔哩哔哩)1、实时好友赣南辅助器透视辅...
第八分钟指引!九酷众游辅助,新... 第八分钟指引!九酷众游辅助,新卡农辅助(辅助)一贯是真的辅助器(哔哩哔哩)1、进入游戏-大厅左侧-新...
6分钟办法!乐酷大厅怎么安装,... 6分钟办法!乐酷大厅怎么安装,皇豪互众辅助软件是干嘛的(辅助)竟然有挂修改器(哔哩哔哩)所有人都在同...
一分钟方案!楚天游卡五星辅助器... 一分钟方案!楚天游卡五星辅助器,葫芦娃通杀辅助使用(辅助)一贯存在有工具(哔哩哔哩)亲,关键说明,葫...