为什么需要turn server,如果你的nextcloud实例运行在反向代理之后或是其他原因(nat)无法暴露nextcloud talk的端口,这个时候就需要一个turn server转发talk的端口,默认为3478,下面turn server配置端口为3478,为了方便这里使用docker compose部署一个coturn服务器。
安装配置coturn
由于这里使用的docker compose部署,所以需要docker环境和安装docker-compose,这部分可以参考docker官方文档去安装。
接下来,为coturn创建docker-compose.yml文件,用来部署coturn
$ mkdir coturn
$ cd coturn
$ vi docker-compose.yml
docker-compose.yml文件内容:
version: "3"
services:
coturn:
image: instrumentisto/coturn
container_name: coturn
tmpfs:
- /var/lib/coturn
volumes:
- ./turnserver.conf:/etc/coturn/turnserver.conf
ports:
- 3478:3478
- 3478:3478/udp
其中ports根据自己的需求需要,nextcloud talk默认端口为3478
接下来在docker-compose所在文件夹创建coturn的配置文件,同样根据配置文件所在修改,volumes中使用为./turnserver.conf,将其挂载到容器中 /etc/coturn/turnserver.conf
$ vi ./turnserver.conf
listening-port=3478
fingerprint
use-auth-secret
static-auth-secret=<generated secret>
realm=<domain or ip>
total-quota=100
bps-capacity=0
stale-nonce
no-multicast-peers
然后修改realm为服务器域名或IP,使用openssl生成验证使用的密钥,替换到static-auth-secret
$ openssl rand -hex 32
在nextcloud talk设置中如要使用turns协议,realm需要使用域名
一切准备好之后,就可以开始部署coturn服务了,在docker-compose.yml所在目录中:
$ docker-compose up -d
在nextcloud中配置turn server
coturn 服务启动完之后,就可以在nextcloud中配置talk使用coturn服务器了
登录到自己所在的nextcloud中,来到管理员配置-通话中找到turn 服务器,添加新的coturn服务器,添加服务器地址和验证密钥后看到连接验证出现绿色的勾就代表配置正确可以使用了。
近期评论