如何在 Nginx 上为 webRTC 配置 coturn?

如何在 Nginx 上为 webRTC 配置 coturn?

我正在制作一个 WebRTC 应用程序,它在 wifi 上运行良好。但当我通过 4G 在手机上打开该应用程序时,webRTC 直播无法启动。

在此处输入图片描述

似乎创建 iceConnectionState 时出了点问题。对于 Iceserver,我在 Nginx 服务器上使用 coturn 创建了一个 turn 服务器,设置如下:

listening-port=3478
tls-listening-port=5349

listening-ip=my-public-ip
relay-ip=my-public-ip
external-ip=my-public-ip


fingerprint
user=Dominique:GS7Yq_jK
lt-cred-mech
server-name=domain.com
realm=domain.com
log-file=/var/log/turnserver/turnserver.log
simple-log
external-ip=my-public-ip

total-quota=100
stale-nonce=600

# Authentication method
use-auth-secret
static-auth-secret=33515e71ba1d0a96e77083f7e4215d99afe36204b6f382e1715fbb9314ae61d0

cert=/etc/letsencrypt/live/domain.com/fullchain.pem
pkey=/etc/letsencrypt/live/domain.com/privkey.pem

在我的 nginx.conf 中我添加了以下块

stream {
        server {
                listen 3478 udp;
                proxy_pass domain.com:3478;
        }

        server {
                listen 5349 udp;
                proxy_pass domain.com:5349;
        }
}

当我通过此测试我的 Turn 服务器时测试站点

我通过这些设置得到了这个结果

 urls: 'turn:domain.com:3478',
  username: 'Dominique',
  credential: 'GS7Yq_jK'

在此处输入图片描述

有谁能帮我吗?我想让 webRTC 在 4G 上运行

谢谢您的帮助!

Gr,多米尼克

相关内容