【问题标题】:WebRTC communication only using HTTP port 80?WebRTC 通信仅使用 HTTP 端口 80?
【发布时间】:2015-06-12 03:27:09
【问题描述】:
  • 当对等方位于不同的 NAT 后面时,我们使用 STUN 让事情顺利进行
  • 当直接点对点失败时,我们转向 TURN 服务器,
  • 当系统中所有 UDP 端口都被阻塞时,我们使用 TCP 传输连接到 TURN 服务器
  • 但是如果除 80 之外的所有端口都被阻塞(公司代理后面的对等),那会怎样?上面的 TURN 服务器还能用吗?还是我应该获得一个 webrtc 网关并依赖 RTMP 作为后备?还有其他选择吗?

之前,我错误地认为 TCP 只需要 80 端口,但 this discussion 让我怀疑。

【问题讨论】:

    标签: tcp webrtc turn


    【解决方案1】:

    这取决于您的网络被阻止的程度。如果有一个代理正在检查 HTTP 标头,则 TCP 上的 TURN (STUN) 将不起作用。但是,如果代理不检查端口 80 上的流量(例如仅防火墙),则 TURN over TCP 应该可以工作。

    如果您的 TURN 允许通过 TLS 访问端口 443,则加密层应绕过代理/防火墙。实际上代理会认为流是 HTTPS 请求。但是,如果代理能够“破坏” SSL 层(MITM,例如 Burp proxy),它可能会拒绝您的通信,因为它不会将 TURN 请求理解为 HTTP 请求。

    【讨论】:

      【解决方案2】:

      443 也应该可用。 80 用于信令,443 用于 TURN。

      【讨论】:

        猜你喜欢
        • 2012-01-21
        • 1970-01-01
        • 2023-02-25
        • 2011-03-23
        • 2013-06-28
        • 2015-06-21
        • 1970-01-01
        • 2017-08-28
        • 2020-10-14
        相关资源
        最近更新 更多