WebRTC 通信只使用 HTTP 端口 80?

WebRTC communication only using HTTP port 80?

之前,我错误地假设 TCP 只需要端口 80,但是 this discussion 让我怀疑事情。

443 也应该可用。 80 个信号,443 个 TURN。

这取决于您的网络的阻塞程度。如果有正在检查 HTTP header 的代理,则 TURN (STUN) over TCP 将无法工作。但是,如果通过端口 80 的流量未被代理检查(例如,仅防火墙),TURN over TCP 应该可以工作。

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