【问题标题】:Websocket load balancing doesnt work even if using AWS Load Banacing?即使使用 AWS 负载平衡,Websocket 负载平衡也不起作用?
【发布时间】:2015-02-11 02:14:17
【问题描述】:

目前我有一个“Load Banacer”和两个 EC2 节点。我想以某种方式设置它们,以便可以通过端口 9090 使用 WebSocket,通过端口 443 使用 HTTPS。

目前,Websocket 在两个 EC2 节点上独立运行,即 ws://54.250.154.x:9090 和 ws://54.250.154.y:9090

根据我在互联网上的发现,有一个解决方案是为 AWS 启用代理模式。但是,我不确定如何设置它。

那么,你能指导我如何配置 LBC 以使用负载平衡连接 2 个 websocket 服务器吗?

如果你给我一个例子指导我会很高兴?

【问题讨论】:

    标签: amazon-web-services websocket load-balancing amazon-elb


    【解决方案1】:

    AWS 弹性负载均衡器不支持通过 HTTP 的 websocket,仅支持通过 HTTP。为了完成你想要的,你需要在你的 ELB 上设置两个监听器:

    1. ELB 上的端口 443 转发到实例上您想要的任何内容(您没有在问题中指定)。这应在前端配置为 HTTPS,在后端配置为 HTTP 或 HTTPS,具体取决于您的实例所期望的。
    2. ELB 上的 9090 端口转发到实例上的 9090 端口。对于协议,您将使用 TCP(或 TCP+TLS,如果您的 websocket 连接使用 SSL)。这将允许 websocket 工作。

    【讨论】:

    • 感谢您的支持。我设置了两个侦听器: 1. ELB 转发上的端口 443:前端上的 HTTPS (443) => 后端上的 HTTP(80) 2. ELB 转发上的端口 9090:前端上的 TCP(9090) => TCP 9090在后端并且网络套接字正在工作,但连续断开并重新连接。我在互联网上搜索并找到解决方案是启用 ELB 代理。但是当启用 ELB 的代理时,web socket 不工作。我想询问有关配置 Web 套接字和 ELB 的问题。
    猜你喜欢
    • 2012-09-13
    • 2017-09-21
    • 1970-01-01
    • 1970-01-01
    • 2014-07-28
    • 2014-02-04
    • 2023-03-14
    • 2015-08-07
    • 2012-12-19
    相关资源
    最近更新 更多