【问题标题】:client not connecting to node js server on AWS with WSS/WS protocols客户端未使用 WSS/WS 协议连接到 AWS 上的节点 js 服务器
【发布时间】:2019-12-29 13:54:39
【问题描述】:

我使用 socket.io 和 node js 创建了一个小型服务器,并在之前部署在 heroku 中。我很容易让客户端使用 wss/ws 协议连接到服务器,但是当我也部署我的应用程序 AWS 时,客户端没有连接。我在客户端调试了应用程序,但它只是没有连接到服务器。我错过了什么?是否需要执行额外的步骤才能使其正常工作?

谢谢。

【问题讨论】:

  • 应用LB不支持WS协议。你可以使用socket.io。这里github.com/ngrt/simpleChatApp 基于socket.io,可以在负载均衡器后面的http和https上正常工作,只需启用粘性会话。你可以为 WS 做 NLB。
  • ALB 支持 ws,如果存在 https 侦听器,它也可以支持 wss,但您似乎没有使用 ALB,而是直接连接到运行 ws 的实例,请检查服务器是否正在侦听端口你提到了 ws。
  • @JamesDean 你是对的。我必须添加负载均衡器,并且必须在我的项目中包含一些配置文件的 .ebextensions 文件夹。还添加了 TCP 侦听器。我让它工作了。谢谢。

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


【解决方案1】:

回答我自己的问题,我必须在我的项目根目录中添加带有配置的 .ebextensions 文件夹。您可以查看以下教程以使其工作https://nikhilmopidevi.github.io/2017/10/18/WebSockets-with-AWS-Elastic-Beanstalk/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-20
    • 1970-01-01
    • 2013-12-26
    相关资源
    最近更新 更多