【问题标题】:Jitsi 背后的 ALB 连接到 websocket
【发布时间】:2022-01-20 14:36:18
【问题描述】:

我在 AWS ALB 背后的 Jitsi 上苦苦挣扎。

我已经配置了负载均衡器,开启了 TCP: 443, 80, 4443, UDP: 10000.

创建的目标组等前端工作,但视频没有开始:

控制台中的错误是:

WebSocket connection to wss://jitsi.<censored>.org/xmpp-websocket?room=test' failed: _connect @ strophe.umd.js:5463

我将非常感谢您的建议。

UPD:我可以通过将这些变量添加到 .env 来禁用 websocket

ENABLE_SCTP=1
ENABLE_COLIBRI_WEBSOCKET=0
ENABLE_XMPP_WEBSOCKET=0

但这并不安全,因此是理想的结果。

【问题讨论】:

    标签: amazon-web-services websocket aws-application-load-balancer jitsi jitsi-meet


    【解决方案1】:

    ALB 确实支持 websocket。但是您不能像这样配置设置。您可以做的一件事是切换到 NLB,但这需要重新配置安全组、侦听器、目标组等。 为什么不想使用 WebRTC?

    更新

    想想看,Amazon ALB 侦听器提供 HTTP 和 HTTPS,WebSockets 最初使用 HTTP (ws) 或 HTTPS (wss) 联系应用程序

    因此 ALB 不应该关心流切换/升级。 唯一的问题是 websocket 被设计为保持打开状态,并且 ALB 在 x 秒后终止连接(我认为是 60 秒)。但是 Jitsi 不会闲置,所以也许这不是问题。 我会尝试一下并回复你:)

    更新 花了一段时间,但它的工作原理。 您需要设置几件事:

    JVB_TCP_HARVESTER_DISABLED=true
    JVB_TCP_PORT=4443
    JVB_TCP_MAPPED_PORT=4443
    

    将以下设置回默认值(留空)

    ENABLE_SCTP
    ENABLE_COLIBRI_WEBSOCKET
    ENABLE_XMPP_WEBSOCKET 
    

    确保为所有容器(Prosody 除外)设置 PUBLIC_URL 变量 这应该是它。在这里工作。

    【讨论】:

    • 欢迎来到 SO!您可以向作者提出问题作为评论,而不是将其作为答案发布。谢谢。
    • 可以添加部分答案作为评论。
    • rep 为 1 的新用户无法发表评论;)
    猜你喜欢
    • 2019-01-08
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多