概述:正向代理与反向代理
我们已经讨论了反向代理服务器以及它们如何真正擅长保护内部网络中的服务器。然而,最近,我们意识到有些人实际上认为我们在谈论转发代理服务器,或者两者是相同的,但事实并非如此。这篇文章将解释正向代理和反向代理用例之间的区别。
代理服务(这两种服务都提供)的主要目的是代表另一台机器行事。在我们的例子中,正向和反向代理的目的是代表另一台机器——客户端、Web 服务器或其他后端服务器等。在这种情况下,代理充当中间人。
正向代理
当人们谈论代理服务器(通常称为“代理”)时,他们通常指的是转发代理。让我解释一下这个特定服务器的作用。转发代理向一个客户端或一组客户端提供代理服务。通常,这些客户端属于一个公共内部网络,如下所示。
当其中一个客户端尝试连接到 Internet 上的该文件传输服务器时,其请求必须首先通过转发代理。
根据转发代理的设置,可以允许或拒绝请求。如果允许,则将请求转发到防火墙,然后转发到文件传输服务器。从文件传输服务器的角度来看,发出请求的是代理服务器,而不是客户端。因此,当服务器响应时,它会将其响应发送给代理。
但是,当转发代理收到响应时,它会将其识别为对先前通过的请求的响应。然后它将响应发送给发出请求的客户端。
因为代理服务器可以跟踪请求、响应、它们的来源和目的地,不同的客户端可以通过转发代理向不同的服务器发送各种请求,并且代理将为所有这些请求提供中介。同样,一些请求将被允许,而一些请求将被拒绝。
如您所见,代理可以作为单点访问和控制,使您更容易实施身份验证、SSL 加密或其他安全策略。转发代理通常与防火墙一起使用,以通过控制源自内部网络中的客户端且指向 Internet 上的主机的流量来增强内部网络的安全性。因此,从安全的角度来看,转发代理的主要目的是在您的专用网络中的客户端计算机上实施安全性。
但是,客户端计算机并不总是您在内部网络中找到的唯一计算机。有时,您也有服务器。而当这些服务器必须为外部客户端提供服务时(例如,需要从您的 FTP 服务器访问文件的现场工作人员),更合适的解决方案是反向代理。
反向代理
什么是反向代理?顾名思义,反向代理的作用与正向代理的作用完全相反。正向代理代表客户端(或请求主机),反向代理代表服务器。反向代理代表驻留在其后面的服务器接受来自外部客户端的请求,如下所示。
在我们的示例中,提供文件传输服务的是反向代理。客户端没有注意到代理背后的文件传输服务器,它们实际上提供了这些服务。实际上,正向代理隐藏了客户端的身份,反向代理隐藏了服务器的身份。与不必处理反向代理相比,基于 Internet 的攻击者会发现获取这些文件传输服务器中的数据要困难得多。
就像正向代理服务器一样,反向代理也提供单点访问和控制。您通常将其设置为与一两个防火墙一起工作,以控制定向到内部服务器的流量和请求。
在大多数情况下,反向代理服务器还充当其背后服务器的负载平衡器。负载均衡器在为接收大量请求的网络服务提供高可用性方面发挥着至关重要的作用。当反向代理执行负载平衡时,它将传入请求分发到服务器集群,所有服务器都提供相同类型的服务。因此,例如,反向代理负载平衡 FTP 服务将在其后面有一个 FTP 服务器集群,并将管理服务器负载以防止瓶颈和延迟。
这两种类型的代理服务器在客户端和目标机器之间中继请求和响应。但在反向代理服务器的情况下,通过它们的客户端请求通常来自 TCP/IP 连接,而在正向代理的情况下,客户端请求通常来自它们背后的内部网络。
概括
在这篇文章中,我们讨论了正向代理服务器和反向代理服务器之间的主要区别。如果您想保护内部网络中的客户端,请将它们放在转发代理后面。另一方面,如果您的目的是保护服务器,请将它们放在反向代理后面。