根据我们自己的测试,我确认在Web / Sockets上可以成功地在TCP / SSL上配置ELB,而不是在HTTP /
HTTPS上配置ELB。缺点有两个:
1)正如arturnt指出的那样,您不会发粘。
2)您将失去检索客户端身份的能力。WebSocket服务器看到的原始IP始终是ELB,与HTTP / HTTPS配置不同,不会将X-Forwarded-
For标头添加到请求中。
2013年7月更新 :亚马逊刚刚添加了对 代理协议的 支持,该 协议
解决了上述第二个缺陷。使用代理协议,即使ELB在TCP级别(而不是HTTP)下工作,也会添加包含客户端原始IP的标头。完整详细信息:
http :
//docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/enable-proxy-
protocol.html
2016年8月更新 :亚马逊刚刚宣布了新的 AWS Application Load Balancer
,它在第7层支持WebSocket(以及HTTP / 2.0和基于内容的路由)。参见
https://aws.amazon.com/it/blogs/aws/new-aws-application-load-
balancer/



