在 Express Server + Elastic beanstalk 上使用具有安全连接的 Websockets

问题描述 投票:0回答:1

我正在尝试将 WebSocket 集成到我的应用程序中。后端是一个简单的 Express 服务器,在前端,我们使用 React。套接字连接在 WS 上本地工作完全正确,但部署后,使用 WSS 协议无法工作。我收到错误消息套接字已关闭。

部署是使用 AWS Elastic Beanstalk 完成的。 HTTPS 和 WSS 连接位于同一端口,并且 HTTPS 连接仍然工作正常。只是网络套接字无法正常工作。我不熟悉部署的东西,并且已经尝试了两天的时间来完成这项工作,尝试了我可以在网上找到的所有解决方案,但没有任何效果。我怎样才能解决这个问题?请帮忙。如果有可能的解决方法,也请告诉我。

我在负载均衡器中看到我们只有 HTTPS 和 HTTPS 侦听器,但没有添加 WSS 侦听器的选项。负载均衡器属于应用程序类型。我可以在网络负载均衡器中添加一个 TCP 侦听器,但该侦听器没有用于 HTTPS 的侦听器。

我尝试在负载均衡器中为在线列出的 WS 路径模式添加一条规则,但这也不起作用。我不想过多地修改配置并最终破坏当前正在运行的 HTTPS。

我无法将 HTTPS 修改为 TCP,反之亦然,因为我在其他帖子中读到的仅创建新的负载均衡器。

在线答案中列出的一些用于删除代理服务器的选项在AWS控制台上找不到它们。在免费版本的 AWS 上。

node.js express websocket amazon-elastic-beanstalk aws-application-load-balancer
1个回答
0
投票

你能分享一下你是如何连接到你的 websocket 服务器的吗?您的 websocket 基础设施使用什么依赖项(socket.io、ws...)?

我觉得你有两个选择:

  • 维护你自己的 websocket 服务器、网络等,就像你正在做的那样
  • 使用为您做这件事的API,+更多:Shippr(免责声明,我在那里工作)-PusherAbly-这些解决方案(它们都有免费计划)应该为您照顾基础设施并且您应该可以立即访问发布/订阅、消息传递等:)

这有帮助吗?让我知道!

© www.soinside.com 2019 - 2024. All rights reserved.