[英]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.