amazon-ec2 - 亚马逊 ec2 上的 Websockets 连接失败

标签 amazon-ec2 websocket netty atmosphere

我有一个 netty 服务器运行 Atmosphere 框架,用于通过 websockets 进行实时通知系统。

该系统在我的本地机器上运行良好,但是当我将它部署在 EC2 上时,它似乎无法正常工作。不过,我可以远程登录到远程 Netty 服务器。服务器可访问且端口在 EC2 上打开

Firefox 抛出以下错误

Using URL: ws://beta.myapp.com:2880/myhandle?id=1&name=Chinese_food_rule_2&    X-Atmosphere-tracking-id=35490c47-59d6-abf6-36fa-431aa340d90a&X-Atmosphere-Framework=0.9&X-Atmosphere-Transport=websocket&X-Cache-Date=0&Content-Type=application/json

Websocket error, reason: undefined

Firefox can't establish a connection to the server at ws://beta.myapp.com:2880/myhandle?id=1&name=Chinese_food_rule_2&X-Atmosphere-tracking-id=35490c47-59d6-abf6-36fa-431aa340d90a&X-Atmosphere-Framework=0.9&X-Atmosphere-Transport=websocket&X-Cache-Date=0&Content-Type=application/json.

Websocket closed, reason: Connection was closed abnormally (that is, with no close frame being sent).

服务器甚至没有收到请求,这让我认为这是一些我不知道的 EC2 Web 套接字陷阱。

最佳答案

我在 php.ini 中遇到了同样的问题。
解决方案是:使用您的 private ip 创建 websocket EC2的地址。并使用您的 EC2 公共(public) IP 地址或带有 Web 套接字端口的 URL 连接该 WebSocket

您将收到来自 EC2 Web 套接字的响应

关于amazon-ec2 - 亚马逊 ec2 上的 Websockets 连接失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11826580/

相关文章:

java - 无法在 netty 中连接 ssl

java - 为什么netty只使用一个线程?

amazon-web-services - AWS EC2 实例 WebSocket 连接失败的问题:连接建立错误:net::ERR_CONNECTION_TIMED_OUT

ruby-on-rails - 我无法在Elastic Beanstalk ec2实例上找到生产日志文件

amazon-ec2 - 使用 Terraform 进行配置时,代码如何获取对机器 ID 的引用(例如数据库机器地址)

java - 如何保护 Java EE 中的 WebSocket 端点?

javascript - React useState 钩子(Hook)没有持续更新

amazon-web-services - Elastic Beanstalk : Rolling Updates

c# - WebSocket 服务器仅使用 ssl 从握手 header 接收 "G"

Netty MessageToMessageCodec 解码方法仅接收 512byte 大块响应