用于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杀掉 。

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

相关内容

热门资讯

2分钟德州透视挂!hhpoke... 2分钟德州透视挂!hhpoker开挂教程,德州透视插件,详细教程(有挂功能)1、完成德州透视插件透视...
九分钟开辅助!wepoker辅... 九分钟开辅助!wepoker辅助软件价格(透视底牌)详细辅助程序(本来是真的有挂)1、任何wepok...
9分钟透视插件!hh poke... 9分钟透视插件!hh poker软件,hhpoker是正品吗,详细教程(有挂智能)1、hh poke...
7分钟插件辅助!wepoker... 7分钟插件辅助!wepoker买钻石有用吗(透视底牌)详细辅助插件(果然是有挂)7分钟插件辅助!we...
八分钟作弊实战!hhpoker... 八分钟作弊实战!hhpoker脚本,hhpoker辅助靠谱吗,详细教程(有挂安装)1、完成hhpok...
二分钟苹果版!wepoker有... 二分钟苹果版!wepoker有辅助器吗(透视底牌)详细辅助免费(切实真的是有挂)1、点击下载安装,插...
八分钟破解工具!德州透视hhp... 八分钟破解工具!德州透视hhpoker,hh poker辅助器先试用,详细教程(有挂插件)1、该软件...
二分钟作弊!wepoker私人... 二分钟作弊!wepoker私人局可以透视(透视底牌)详细辅助作弊器(本来真的有挂);暗藏猫腻,小编详...
五分钟外挂!德扑HHpoker... 五分钟外挂!德扑HHpoker有挂吗(透视脚本)详细辅助助手(确实真的是有挂)1、任何ai辅助神器的...
5分钟新号!wepoker透视... 5分钟新号!wepoker透视器免费(透视底牌)详细辅助外挂(确实是真的有挂)1、打开软件启动之后找...