amazon-web-services - websocket 服务器主机必须为空白才能使用应用程序负载均衡器在 ec2 实例上工作
问题描述
我有一个 aws 应用程序负载均衡器,在端口 9999 上有一个 https 侦听器,转发到端口 9999 上的一个组,目标是 ec2-instance。
如果我使用配置为我的域的主机名运行我的 websocket 服务器api.example.com
,那么当客户端尝试打开 websocket 连接时,它会得到:
WebSocket 握手期间出错:意外的响应代码:502
但是,如果我使用空字符串而不是域配置我的 websocket 服务器,那么它就可以正常连接!
这是有问题的,因为我打算在此实例上运行的服务器仅在提供 websocket 主机名配置时才会自动启动 websocket 服务器,因此空白字符串意味着 websocket 服务器永远不会启动!我宁愿不必破解图书馆来解决这种情况。所以我想知道,为什么在世界上一个空白字符串可以工作,但域名却不行?
我尝试了 localhost、盒子的 ip 等,所有结果都是 502,除了一个空白字符串!
解决方案
推荐阅读
- php - 如何扩展 Laravel Sanctum 的功能?
- html - RTL 子菜单未正确对齐
- c# - EF创建的数据库查询问题
- python - Python 类中的自我
- c++ - 具有 const 引用的 C++ Setter 成员函数在运行时导致“读取访问冲突”异常
- php - .htaccess 在数字海洋服务器中不起作用
- python - Google KickStart 错误答案
- javascript - 如何处理带有惰性和路由组件的 vue 组合 API?
- vert.x - 即使工作线程可用,Vertx Http Webclient 请求也会挂起
- tensorflow - 为什么在 Tensorflow 教程中将 sqrt(dim) 与 Transformer 的编码输入相乘?