首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用ec2 +应用程序负载均衡器获得websocket连接

问无法使用ec2 +应用程序负载均衡器获得websocket连接
EN

Server Fault用户
提问于 2018-06-27 04:37:59
回答 2查看 5.8K关注 0票数 2

我有一个aws应用程序负载平衡器,在端口9999上有一个https侦听器,转发到端口9999上的一个组,其中EC2实例是目标。

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

WebSocket握手时出错:意外响应代码: 502

但是,如果我用一个空字符串而不是域来配置我的websocket服务器,那么它就连接得很好!

这是有问题的,因为我打算在这个实例上运行的服务器只有在提供了websocket主机名配置的情况下才会自动启动websocket服务器,所以空字符串意味着websocket服务器永远不会启动!我不想为了避开这种情况而黑进图书馆。所以我想知道,为什么在世界上一个空白字符串工作,但域名不?

我尝试了本地主机,ip的盒子,等等,一切结果是502除了一个空白字符串!

EN

回答 2

Server Fault用户

回答已采纳

发布于 2018-07-03 00:39:34

通过将websocket服务器主机设置为0.0.0.0,解决了我的问题

票数 1
EN

Server Fault用户

发布于 2018-06-27 08:52:09

ALB不使用主机名进行健康检查。因此,如果服务器不支持没有主机名的请求,则健康检查将失败,导致访问ALB时出现5xx个错误。

  • 检查ALB用于健康检查错误的目标组
  • 检查应用程序服务器日志中的健康状况检查相关错误。

如果您的服务器不支持此功能,则有两个选项:

  • 在您的服务器上使用一个代理(例如nginx),它可以处理没有主机名的请求,并在那里处理问题。
  • 重写ALB健康检查端口,将其重定向到始终返回HTTP 200的东西(例如,在同一主机上运行的Apache,但在另一个端口上运行)。
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/918403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档