使用Application Load Balancer处理websockets的EB

时间:2017-06-13 13:16:34

标签: amazon-web-services websocket socket.io

我的目标是使用应用程序负载均衡器创建EB以使用websockets(使用socket.io)。

我读到可以使用“应用程序负载均衡器”,但我无法使其正常工作。

我编写了一些NodeJS代码,用于构建一个侦听端口8081并回答200的HTTP服务器,以及一个侦听端口3000以接受连接的socket.io服务器。

以下是我所遵循的步骤:

首先,我运行了eb --elb-type application

然后,我创建了2个目标组,一个用于8081端口(用于HTTP),另一个用于3000端口(用于fo ws),以下是这些组的屏幕截图:Group HTTP {{3 }}

正如您所看到的,我将这两个组都附加了由EB创建和管理的EC2。

然后,我配置了应用程序负载均衡器,以便它可以使用这些组:

Group WS Load Balancer

当我从浏览器点击我的EB URL或应用程序负载均衡器URL时,我会超时。对于我的ws连接也是一样的......我不知道我错过了什么。

1 个答案:

答案 0 :(得分:0)

要检查两件事:

一个。超时最可能意味着安全组未正确设置。转到EC2 - LB - 您的LB - 描述选项卡。单击其中列出的安全组。 检查入口规则,如果您计划让这个ALB对全世界开放,则需要将相关端口打开,并使用0.0.0.0/0作为源。或者基于您的架构的相关CIDR Block / SG。

湾转到EC - LB - 目标组 - 选择目标组,在目标选项卡下验证您的实例是否正常运行。 如果不能确保您正确设置了健康检查。