1

我已经开发了一个WebRTC基于应用程序的Kurento-Media-Server.

此应用程序的问题是:

  1. 它只能在开放网络上工作(即如果在没有防火墙的网络上运行)。
  2. 在防火墙中时,它有时会运行(10 次尝试一次)。

我用防火墙尝试了几件事,我禁用了所有类型的传入/传出流量。我已经为我的应用程序以及 Kurento 媒体服务器创建了一个端口转发。

我不确定这些信息有多大用处,但我将我的应用程序与Kurento-Media-Server. 我已经在我的 client.js 上配置了谷歌的 STUN 服务器,我还使用代码在 kurento 上配置了相同的 STUN 服务器。我还没有配置 TURN 服务器。

只需确认这一点,信令服务器就可以与应用程序的其余部分一起位于防火墙后面,对吗?

我不确定现在要寻找什么,这方面的任何帮助都会很棒。

EDIT-1 从这个链接我了解到,我当前无法正常工作的网络存在普通 websocket 连接的问题,它不允许,它只允许安全的 Websocket 连接。

编辑-2

网络扫描图像: 扫描报告

在我的应用程序运行良好的电话网络中,我在 Websocket 的“普通”列中看到所有绿色。

EDIT-3 Solved 终于找到问题了,我们使用路由器进行测试和开发,我发现路由器有问题,我在同一路由器上使用 LAN 电缆,一切正常。来自应用程序的调用工作得很好。防火墙相关的详细信息有助于稍后配置防火墙。

4

1 回答 1

0

根据您的问题描述,似乎所有 UDP 流量都未在您的防火墙中打开。WebRTC 媒体在 UDP 端口上运行。正如您所提到的,它工作十分之一,这意味着您的防火墙中只有少数 UDP 端口打开。当流量来自这些端口时,您很幸运。您可以在防火墙中打开端口范围并配置在 kurento-media-server config.Your 工作应该完成。

即使您配置了 TURN 服务器,您也需要为传出和传入 UDP 流量打开某些端口。对于 TURN 服务器默认端口是 3478 或 8443 用于向其发送数据,但对于传入流量,您需要在 TURN 服务器上配置端口范围并打开防火墙中的那些端口。永远记住 TURN 服务器是一种可靠的连接方式,但它总是很昂贵。

于 2017-07-06T10:13:23.190 回答