我有一个aws应用程序负载平衡器,在端口9999上有一个https侦听器,转发到端口9999上的一个组,其中EC2实例是目标。
如果我使用配置为域api.example.com的主机名运行websocket服务器,那么当客户端尝试打开websocket连接时,它将获得:
WebSocket握手时出错:意外响应代码: 502
但是,如果我用一个空字符串而不是域来配置我的websocket服务器,那么它就连接得很好!
这是有问题的,因为我打算在这个实例上运行的服务器只有在提供了websocket主机名配置的情况下才会自动启动websocket服务器,所以空字符串意味着websocket服务器永远不会启动!我不想为了避开这种情况而黑进图书馆。所以我想知道,为什么在世界上一个空白字符串工作,但域名不?
我尝试了本地主机,ip的盒子,等等,一切结果是502除了一个空白字符串!
发布于 2018-07-03 00:39:34
通过将websocket服务器主机设置为0.0.0.0,解决了我的问题
发布于 2018-06-27 08:52:09
ALB不使用主机名进行健康检查。因此,如果服务器不支持没有主机名的请求,则健康检查将失败,导致访问ALB时出现5xx个错误。
如果您的服务器不支持此功能,则有两个选项:
https://serverfault.com/questions/918403
复制相似问题