AWS ELB 使用过程中由于协议认知不足引发的血案(AWS Elastic Load Balancing 与WebSocket并用报错)

标签: websocketawsELBHTTPTCP
1529人阅读 评论(0) 收藏 举报
分类:
案情描述:
中午过后,同事发现含有WebSocket的页面与后端的连接死掉了,红色的鲜血流满了屏幕,详情看图

Incompatibile SockJS! Main site uses: "1.1.1", the iframe: "1.0.0".

案情分析:
在ELB中,我们使用的是http协议,但是ELB却不支持WebSocket协议(仅支持HTTP, HTTPs, TCP and TCPs.)并且没有任何消息表示ELB支持的HTTP和HTTPS协议可以支持WebSocket。当浏览器端向服务端发送消息的时候,由于ELB拦截掉了请求,又判断出协议不是支持的几种,就残忍的抛弃掉了。

药方:
从根本出发,WebSocket是基于HTTP协议的,而HTTP协议又是基于TCP协议的,恰巧ELB支持TCP协议,那么可以将ELB配置中HTTP协议改为TCP协议即可,如图

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:627978次
    • 积分:8068
    • 等级:
    • 排名:第2504名
    • 原创:202篇
    • 转载:53篇
    • 译文:0篇
    • 评论:126条
    博客专栏
    支付宝打赏
    微信打赏
    最新评论