首页 > 解决方案 > websocket 服务器主机必须为空白才能使用应用程序负载均衡器在 ec2 实例上工作

问题描述

我有一个 aws 应用程序负载均衡器,在端口 9999 上有一个 https 侦听器,转发到端口 9999 上的一个组,目标是 ec2-instance。

如果我使用配置为我的域的主机名运行我的 websocket 服务器api.example.com,那么当客户端尝试打开 websocket 连接时,它会得到:

WebSocket 握手期间出错:意外的响应代码:502

但是,如果我使用空字符串而不是域配置我的 websocket 服务器,那么它就可以正常连接!

这是有问题的,因为我打算在此实例上运行的服务器在提供 websocket 主机名配置时才会自动启动 websocket 服务器,因此空白字符串意味着 websocket 服务器永远不会启动!我宁愿不必破解图书馆来解决这种情况。所以我想知道,为什么在世界上一个空白字符串可以工作,但域名却不行?

我尝试了 localhost、盒子的 ip 等,所有结果都是 502,除了一个空白字符串!

标签: amazon-web-servicesamazon-ec2websocketamazon-elb

解决方案


推荐阅读