安装coturn

安装之前,先确保使用以下命令将apt-get更新到最新:

sudo apt-get update

安装coturn:

sudo apt-get install coturn

请确保使用以下命令在安装软件包后停止该服务, 因为安装完成后它将自动启动:

systemctl stop coturn

生成证书文件

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

备份并创建配置文件

安装好coturn后会在/etc目录下创建turnserver.conf
首先备份:

# copy the original turnserver configuration file to a backup in the same directory
cp /etc/turnserver.conf /etc/turnserver.conf.original

用编辑器编辑turnserver.conf:

tips:内网地址是使用ifconfig后显示的地址,外网地址云服务器公网地址

listening-device=eth0
listening-port=3478
tls-listening-port=5349
listening-ip=<内网地址>
external-ip=<外网地址>
server-name=<域名>
realm=<域名>
lt-cred-mech
userdb=/var/lib/turn/turndb
cert=/etc/turn_server_cert.pem
pkey=/etc/turn_server_pkey.pem
no-stdout-log
log-file=/var/tmp/turnserver.log
pidfile="/var/run/turnserver.pid"
user=<用户名>:<密码>
cli-password=qwerty

编辑/etc/default/coturn文件(去掉下面这句前面的#):

TURNSERVER_ENABLED=1

开放端口

云服务器端口打开:

1-65535 UDP  
3478 TCP

重启coturn:

service coturn restart

这将启动服务器中的coturn服务。你可以使用以下命令检查服务的状态:

systemctl status coturn

这里我踩的坑:记得关掉软件防火墙(ufw)!!!!!!!!!!

测试

测试地址:https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
看到 relay 类型的就说明成功了