Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS网络负载均衡器是否将来自多个客户端的HTTP请求多路传输到同一TCP连接?_Amazon Web Services_Http_Web_Load Balancing - Fatal编程技术网

Amazon web services AWS网络负载均衡器是否将来自多个客户端的HTTP请求多路传输到同一TCP连接?

Amazon web services AWS网络负载均衡器是否将来自多个客户端的HTTP请求多路传输到同一TCP连接?,amazon-web-services,http,web,load-balancing,Amazon Web Services,Http,Web,Load Balancing,如果是,可以禁用此行为吗?(因此,每个客户端连接都将用匹配的后端连接表示) 为了在web服务器(HTTP 1.1)前面使用AWS网络负载平衡器,web服务器是否需要支持从同一TCP连接为多个最终用户提供服务 网络负载平衡器不将连接多路复用在一起 与ELB的其他版本不同,网络负载平衡器本质上是一个动态网络地址转换器,在传入时更改数据包中的目标地址(平衡器IP/端口变为实例IP/端口),在传出时更改源地址(实例IP/端口变为平衡器IP/端口) 每个连接是独立的,1:1 实例将看到实际的客户端源地址,

如果是,可以禁用此行为吗?(因此,每个客户端连接都将用匹配的后端连接表示)


为了在web服务器(HTTP 1.1)前面使用AWS网络负载平衡器,web服务器是否需要支持从同一TCP连接为多个最终用户提供服务

网络负载平衡器不将连接多路复用在一起

与ELB的其他版本不同,网络负载平衡器本质上是一个动态网络地址转换器,在传入时更改数据包中的目标地址(平衡器IP/端口变为实例IP/端口),在传出时更改源地址(实例IP/端口变为平衡器IP/端口)

每个连接是独立的,1:1


实例将看到实际的客户端源地址,除非在VPC PrivateLink配置中使用平衡器,在这种情况下,客户端地址和源端口也会以类似的方式重写,所以VPC之间的IP地址空间冲突不是问题。

网络负载平衡器不会将连接多路复用在一起

与ELB的其他版本不同,网络负载平衡器本质上是一个动态网络地址转换器,在传入时更改数据包中的目标地址(平衡器IP/端口变为实例IP/端口),在传出时更改源地址(实例IP/端口变为平衡器IP/端口)

每个连接是独立的,1:1


实例将看到实际的客户端源地址,除非在VPC PrivateLink配置中使用平衡器,在这种情况下,客户端地址和源端口也会以类似的方式重写,这样VPC之间的IP地址空间冲突就不会成为问题。

多路复用是负载平衡的本质,那么,为什么会有人想使用NLB呢?@AniketChopade认为这种说法过于宽泛。多路复用可以说是第7层负载平衡器(如HTTP模式下的ALB或Classic ELB)的一个基本优点,但对于在较低层运行、不知道较高层的平衡器来说,“多路复用”不是一个有效的概念。NLB设计用于TCP连接的1:1映射。它不知道连接上运行的协议。它可以是任何东西——SSH、SMTP、RDP,只是选择其中一些。即使平衡器提供TLS卸载,这也是正确的——它不知道TLS中明文负载的含义。好的,谢谢。这一点理解为处于较低层。这也意味着,如果客户端无法与我的TCP服务器建立+1连接,那么在NLB后面保留多个目标(动态端口映射)是没有意义的。@AniketChopade任何给定的连接都只指向相应目标组中n的1个目标。不清楚您指的是什么“动态端口映射”。AWS ECS/docker容器可以在1 ec2上的多个端口上运行。NLB支持动态端口映射,这意味着它可以在多个端口/容器(其中每个端口是一个目标)之间实现负载平衡。如果客户端一次只能有一个连接,那么这个功能就没用了。多路复用是负载平衡的本质,为什么会有人想使用NLB呢?@AniketChopade这个断言太宽泛了。多路复用可以说是第7层负载平衡器(如HTTP模式下的ALB或Classic ELB)的一个基本优点,但对于在较低层运行、不知道较高层的平衡器来说,“多路复用”不是一个有效的概念。NLB设计用于TCP连接的1:1映射。它不知道连接上运行的协议。它可以是任何东西——SSH、SMTP、RDP,只是选择其中一些。即使平衡器提供TLS卸载,这也是正确的——它不知道TLS中明文负载的含义。好的,谢谢。这一点理解为处于较低层。这也意味着,如果客户端无法与我的TCP服务器建立+1连接,那么在NLB后面保留多个目标(动态端口映射)是没有意义的。@AniketChopade任何给定的连接都只指向相应目标组中n的1个目标。不清楚您指的是什么“动态端口映射”。AWS ECS/docker容器可以在1 ec2上的多个端口上运行。NLB支持动态端口映射,这意味着它可以在多个端口/容器(其中每个端口是一个目标)之间实现负载平衡。如果客户端一次只能有一个连接,则此功能无效。