目前我有一个"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 服务器吗?
如果你以身作则给我指导,我会很高兴吗?
AWS 弹性负载均衡器不支持通过 HTTP 的 websockets,仅通过 HTTP 支持。要完成您想要的操作,您需要在 ELB 上设置两个侦听器:
- ELB 上的端口 443 转发到实例上所需的任何端口(您未在问题中指定)。这应该在前端配置为 HTTPS,在后端配置为 HTTP 或 HTTPS,具体取决于您的实例的预期。 ELB 上的端口 9090
- 转发到实例上的端口 9090。对于协议,您将使用 TCP(或 TCP+TLS,如果您的 websocket 连接使用 SSL)。这将允许网络套接字工作。