即使使用AWS负载平衡,Websocket负载平衡也不起作用?

时间:2014-12-12 11:12:57

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

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

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

从我在互联网上找到的,有一个解决方案,通过为AWS启用代理模式。但是,我不确定如何设置它。

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

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

1 个答案:

答案 0 :(得分:0)

AWS弹性负载均衡器不支持通过HTTP的websockets,只能通过HTTP支持。要完成你想要的,你需要在你的ELB上设置两个听众:

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