amazon-web-services - 亚马逊应用程序负载均衡器上托管的套接字连接的 400 错误请求
问题描述
背景
我正在使用kong admin连接到kong api 网关
我正在使用kong 管理员提供的docker 文件。
问题
docker 容器在我的本地机器上运行良好,并且 UI 已按预期加载
但是,当我尝试访问托管在 amazon ecs 上的同一个 docker 时,它不起作用。它只是一直显示加载程序。
基础设施
docker 容器托管在 amazon 负载均衡器后面,并正在侦听端口 80。端口 80 上的流量然后转发到 docker 容器内的端口 1337
负载均衡器 url - http://staging.host.internal
错误
要求
Request URL: http://staging.host.internal/socket.io/?__sails_io_sdk_version=0.13.8&__sails_io_sdk_platform=browser&__sails_io_sdk_language=javascript&EIO=3&transport=polling&t=MTvxlu9&sid=lH69C1E52B3aGVIwAANl
Request Method: GET
Status Code: 400 Bad Request
Remote Address: xx.xx.xx.xx:xx
Referrer Policy: no-referrer-when-downgrade
Access-Control-Allow-Origin: *
Connection: keep-alive
Content-Type: application/json
Date: Tue, 04 Dec 2018 15:56:05 GMT
Transfer-Encoding: chunked
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
Connection: keep-alive
Cookie: io=lH69C1E52B3aGVIwAANl
回复
{"code":1,"message":"Session ID unknown"}
我在控制台中遇到错误
WebSocket connection to 'ws://staging.host.internal/socket.io/?__sails_io_sdk_version=0.13.8&__sails_io_sdk_platform=browser&__sails_io_sdk_language=javascript&EIO=3&transport=websocket&sid=j-RcLmqGi5bZoQ4YAAPF' failed: WebSocket is closed before the connection is established.
在DEBUG=socket.io.*的服务器日志上,我得到以下日志
Tue, 04 Dec 2018 15:07:26 GMT socket.io-parser encoding packet
{
"type": 0,
"nsp": "/"
}
任何人都可以指出正确的方向来调试它。我没有起点。
解决方案
我必须在 ALB 上启用粘性会话,因为我在负载均衡器后面托管了多个 Docker 容器
问题是,在没有粘性会话的情况下,我在一台服务器上登录,我获得了 websocket 会话 ID,并且读取请求在单独的服务器上进行,因此我得到了连续的成功和失败响应,因为 serges 是负载平衡的。
https://www.looklinux.com/enable-sticky-session-application-load-balancer-aws/
推荐阅读
- php - 按总分 ASC 排序
- javascript - 从 fetch 之外的其他地方调用在 fetch 中定义的函数
- android - 在具有相同分辨率和相同 ppi 的不同制造商设备中,图标和内容显示不相似
- reactjs - 如何在reactjs中对存储在上下文api中的数据执行搜索?
- reactjs - 从 FlatList 中删除项目失败,并显示“TypeError: (0, _activities.default) is not a function”
- linux - crontab 不会执行 shell 脚本
- assembly - 当前指令旁边的 RIP 相关加载会发生什么?缓存命中?
- r - 如何将轴线更改为箭头
- javascript - 如何计算有多少
- 项目在一个
- 带有条件的标签
- 项目在一个
- php - 在卡片 wordpress 中显示页面