如果我们有负载均衡器,为什么我们需要反向代理?

Bis*_*wal 0 reverse-proxy load-balancing amazon-web-services

我主要担心的是,由于反向代理路由是静态的,它如何替换在检查服务器健康状况时动态路由请求的负载均衡器?那么我们真的需要反向代理吗?

Tim*_*Tim 5

在第 7 层 (http) 运行的每个负载均衡器都是一个反向代理,但并非每个反向代理都是一个负载均衡器。您可以说负载均衡器是一种反向代理。

在第四层(例如 AWS NLB)或更低层工作的负载均衡器也可能是反向代理,但由于它们不像 http 数据包那样解析请求,因此它们的功能不那么实用并且功能较少。他们通常更快。

负载均衡器的主要工作是接收请求并将它们分发到多个服务器来为请求提供服务。它还可以执行诸如基于路径的路由之类的操作,例如静态资源请求由一个服务器群或 AWS S3 填充,而应用程序页面则由另一个服务器群填充。

反向代理(如果不是负载平衡器)可以安装在单个服务器上,以将请求发送到服务器上的另一个应用程序。例如,您可能在 Tomcat 前面安装了 Nginx 或 Apache,因为它们比 Tomcat 具有更多的功能,并且可以保护 Tomcat 免受某些类别的攻击。例如,如果出于某种原因您不想在 Tomcat 中缓存 Tomcat 响应,则可以将 Apache 配置为缓存 Tomcat 响应。