Art*_*Art 25 amazon-ec2 websocket node.js amazon-elb
这似乎现在不起作用.我在亚马逊ELB背后使用Faye和NodeJS.当我打开HTTPS时,连接无法再进行中断.我发现这里的问题没有答案:https://forums.aws.amazon.com/message.jspa? messageID = 283293.有人能够让这个工作吗?在运行我自己的HAProxy实例之外是否有任何工作?
Ale*_*one 42
我根据自己的测试确认,在TCP/SSL上配置ELB,而不是HTTP/HTTPS,通过WebSockets实现技巧.缺点是两个:
1)正如arturnt已经指出的那样,你无法获得粘性.
2)您将失去检索客户身份的能力.WebSocket服务器看到的原始IP将始终是ELB,并且与HTTP/HTTPS配置不同,不会向请求添加X-Forwarded-For标头.
更新2013年7月:亚马逊刚刚添加了对代理协议的支持,它解决了上面的缺陷2.使用代理协议,即使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/
Jam*_*tle 10
它不起作用,ELB的HTTP(S)代理至少现在不理解websocket请求,我不知道何时/是否有计划.
我不确定HAProxy是否完全必要.应该可以将SSL终结器(例如stud/stunnel)放在与nodejs服务器相同的实例上并通过这种方式.然后,您可以保留ELB,但将其置于TCP模式.
显然每个实例都有SSL开销,但从长远来看,可能比将SSL卸载到ELB更好(特别是基于用户对ELB SSL性能的评论).
| 归档时间: |
|
| 查看次数: |
21497 次 |
| 最近记录: |