WebRTC部署到VPS后无法连接(添加了TURN服务器

问题描述 投票:0回答:0

应用程序: 我正在开发允许对等点相互连接的应用程序,我使用 mediasoup 和 WebRTC (SFU)。

问题: 一切都在本地运行,但是当部署到 VPS(我使用 Vultr)时,对等点无法连接。在 VPS 防火墙上,端口对 mediasoup 中声明的范围(tcp 和 udp)开放。

我在 stackoverflow 上问了几个问题,但不幸的是没有一个有帮助:

我使用metered.ca,我在客户端传递配置:

producerTransportRef.current = deviceRef.current.createSendTransport({
                ...params,
                iceServers: [
                    {
                        urls: 'stun:stun.relay.metered.ca:80',
                    },
                    {
                        urls: 'turn:a.relay.metered.ca:80',
                        username: 'XXX',
                        credential: 'YYY',
                    },
                    {
                        urls: 'turn:a.relay.metered.ca:80?transport=tcp',
                        username: 'XXX',
                        credential: 'YYY',
                    },
                    {
                        urls: 'turn:a.relay.metered.ca:443',
                        username: 'XXX',
                        credential: 'YYY',
                    },
                    {
                        urls: 'turn:a.relay.metered.ca:443?transport=tcp',
                        username: 'XXX',
                        credential: 'YYY',
                    },
                ],
            });

参数来自定义 mediasoup 传输的服务器,并传递到前端,并与 TURN 服务器配置合并:

let transport = await router.createWebRtcTransport(webRtcTransport_options);
callback({
                // https://mediasoup.org/documentation/v3/mediasoup-client/api/#TransportOptions
                params: {
                    id: transport.id,
                    iceParameters: transport.iceParameters,
                    iceCandidates: transport.iceCandidates,
                    dtlsParameters: transport.dtlsParameters,
                },
            });

当我打印从服务器获得的iceCandidate时,有我的服务器IP地址

当我在 chrome 中运行 webrtc-internals 时,我得到:

我按照错误代码操作:

701 错误代码 - 如果没有候选主机可以到达服务器,则 errorCode 将设置为值 701,该值超出了 STUN 错误代码范围。

我注意到候选主机位于我的本地网络中(不确定这是否是问题所在)

我非常感谢有关下一步检查内容的建议

webrtc turn
© www.soinside.com 2019 - 2024. All rights reserved.