HTTPS和socket.io-client请求之间的AWS ALB粘性会话

时间:2018-08-10 16:33:54

标签: amazon-web-services socket.io sticky-session aws-load-balancer

我在AWS的Application Load Balancer后面有一组实例。这些服务器运行socket.io个客户端可以连接到的服务器。

要启动新的socket.io服务器,将向实例上运行的Web服务器发出HTTPS请求。我已经配置了应用程序级别的粘性会话,因此此Web服务器发送的响应包括一个用于将来的粘性会话的cookie。

我遇到的问题是,我用来连接到Websocket的socket.io-client不允许使用cookie设置extraHeaders标头API,因为它是浏览器中XMLHTTPRequest的禁止标头。

如果我通过node 连接到服务器,则该体系结构可以工作,因为XMLHTTPRequest限制不适用,并且socket.io-client进行了握手能够发送负载均衡器用来将连接分配给正确实例的cookie。

有没有办法:

  1. 规避禁止的标头限制(不太可能)
  2. 将cookie作为非“ cookie”标题传递,然后在标题到达负载均衡器之前对其进行转换
  3. 使用非基于cookie的粘性会话方法

非常感谢!

0 个答案:

没有答案