繁体   English   中英

向ELB [具有代理协议]和Ngnix代理服务器后面的Websocket发出的请求

[英]Requests to Websockets behind ELB [with proxy protocol] and Ngnix proxy server

我正在尝试获取连接到Nodejs websocket服务器的客户端IP。 这个博客是我正在做的, http://blog.seafuj.com/using-elb-with-websockets 。它正在工作,并且正在获取客户端IP。

现在我的问题是:一旦通过ELB和ngnix从客户端到服务器建立了初始握手和连接; 来自客户端的后续请求 [sendText()]会通过ELB还是直接绕过ELB转到Websoket服务器。

客户端代码示例:

var connection = ws.connect('ws://<ELB>:80');
    connection.on("connect", function () {
                console.log("Connection established");
                connection.sendText("Hi");
                connection.sendText("Hello");           
        })

这里我在评论中读到

2)从此刻开始,直到此TCP连接的整个生命周期,ELB都在客户端和后端服务器之间维持准直接连接。 3)“准直接”是指通过ELB代理连接。 因此,当TCP连接处于活动状态时,ELB完全意识到参与其中的两个端点(客户端和后端服务器)。 – Jan-Philip Gehrcke

我还不清楚tcp请求(不是握手和连接建立)是直接发送到服务器还是通过ELB-> ngnix-> websoket服务器发送到服务器。

在ELB中启用代理协议将在标头中添加信息,例如源ip,目标ip等,除此之外,它不会做任何其他事情。 对服务器的所有请求将仅通过elb。 如果您想验证它是否在带有私有IP的专用子网中引导服务器,并在其顶部有elb,它仍然可以工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM