我知道代理是什么,但我不知道什么是反向代理。 在我看来,这可能类似于负载平衡器。 那是对的吗?
反向代理也称为“入站”代理服务器,它接收来自Internet的请求,并将其转发(代理)到一小部分通常位于内部networking上且不能从外部直接访问的服务器。 这是“反向”的,因为传统的(“出境”)代理从内部networking上的一小部分客户端接收请求并将其转发到因特网。
反向代理可用于允许经过身份validation的用户访问Intranet,即使他们位于外部。 内部networking上的用户可以直接访问内网服务器(其IP地址是他们的authentication),但是外部用户必须向代理服务器(通常是用户名和密码)进行身份authentication才能被允许进入。
是的,反向代理经常用于负载均衡。 反向代理为多个服务器提供单个接口,并在这些服务器之间分配请求。 其最常见的用途是负载平衡和caching。
反向代理可以用来为内部资源提供安全性。 两个常见的是Microsoft ISA服务器和Apache与mod_proxy。
例如,如果您的内部局域网中有Microsoft Exchange服务器,但要为Outlook Web Access(OWA)提供对Internet用户的访问权限,则可以将服务器置于DMZ中(不推荐),或者打开端口防火墙到您的内部networking。 使用反向代理,您可以将反向代理放在您的DMZ中,并且所有的OWA请求都被定向到反向代理。 然后,它将这个请求转发给Exchange服务器,充当中间人。
使用Apache mod_proxy和命名虚拟主机,您可以使用单个IP地址为多个站点反向代理,具体取决于是否涉及SSL。
这样,您的服务器和数据就受到保护,同时仍然允许安全访问。
反向代理通常也会用于caching昂贵的计算资源; 这使您可以每分钟(例如)生成一个给定的页面,而不是每个请求一次。 对于高stream量的网站,这可能是一个重要的好处,尤其是对于主页; 许多网站看到他们的stream量的70%进入主页,没有进一步的。 caching逆向代理可以向最终用户透明地提供该页面的静态版本,而不需要应用程序重写。
代理(实质上)是交易或请求的中介。 “代理”的标准networking使用是用于保护身份/位置等的中介。 的请求创build者 。 “反向代理”是保护请求目标的中间体。 “透明代理”不保护任何一方。
其他技术(如负载均衡,数据包过滤,caching等)可以与代理技术相结合(正如其他人所指出的), 显着提高安全性和性能。
反向代理就是这样称呼的,因为它充当来自LAN外部的传入请求的代理。 一个正常的代理(例如Squid或MS ISA)充当局域网内出局请求的代理。
通常情况下,您可以使用反向代理来实现负载平衡或安全性。 在前一种情况下,它接受传入请求(这是一个相对轻量级的过程),并将请求转发给一个或多个执行实际工作的Web服务器。 在后一种情况下,它可以用来过滤来自未经授权来源的请求。