反向代理可以保护 Web 服务器免受攻击,并可以提供性能和可靠性优势。了解有关正向和反向代理的更多信息。
阅读本文后,您将能够:
相关内容
订阅 TheNET,这是 Cloudflare 每月对互联网上最流行见解的总结!
复制文章链接
反向代理是位于 Web 服务器前面的服务器,其将客户端(例如 Web 浏览器)请求转发到这些 Web 服务器。反向代理通常用于帮助提高安全性、性能和可靠性。为了更好地理解反向代理的工作原理以及它可以提供的好处,我们来首先定义什么是代理服务器。
转发代理,通常称为代理、代理服务器或 Web 代理,是位于一组客户端计算机之前的服务器。当这些计算机向互联网上的站点和服务发出请求时,代理服务器将拦截这些请求,然后代表客户端与 Web 服务器进行通信,起到中间设备的作用。
例如,典型的转发代理通信中涉及 3 台计算机:
在标准的互联网通信中,计算机 A 将直接与计算机 C 保持联系,客户端将请求发送到源服务器,并且源服务器将响应客户端。当存在转发代理时,A 将请求发送到 B,B 随后将请求转发给 C。C 将向 B 发送响应,而 B 则将响应转发给 A。
为什么要将这个多余的中间设备添加到互联网活动中?使用转发代理可能有几个原因:
反向代理是位于一个或多个 Web 服务器前面的服务器,拦截来自客户端的请求。这与转发代理不同 - 在转发代理中,代理位于客户端的前面。使用反向代理,当客户端将请求发送到网站的源服务器时,反向代理服务器会在网络边缘拦截这些请求。然后,反向代理服务器将向源服务器发送请求并从源服务器接收响应。
转发代理和反向代理之间的区别非常细微,但非常重要。简单概括而言,转发代理位于客户端的前面,确保没有源站直接与该特定客户端通信;而反向代理服务器位于源站前面,确保没有客户端直接与该源站通信。
这一次,所涉及的计算机包括:
通常,来自 D 的所有请求都将直接发送到 F,而 F 会直接将响应发送到 D。使用反向代理,来自 D 的所有请求都将直接发送给 E,而 E 会将其请求发送到 F 并从 F 接收响应,然后将适当响应传递给 D。
下面是反向代理的一些好处:
一些公司构建自己的反向代理,但这需要大量的软件和硬件工程资源,以及对硬件的大量投资。享受反向代理的所有好处的最简单、最具成本效益的方法之一就是注册 CDN 服务。例如,Cloudflare CDN 提供上面列出的所有性能和安全功能,以及许多其他功能。
反向代理是一种位于一个或多个 Web 服务器前方的服务器,用于拦截并转发来自客户端的请求。它充当中间层,确保客户端不会直接与源服务器通信。
正向代理位于客户端(用户)前方,将客户端的请求转发到互联网。相比之下,反向代理位于服务器前,用于管理来自互联网的传入流量。
[图像:比较正向代理与反向代理架构]对于高流量的网站,反向代理可以充当负载平衡器,将传入的请求均匀分配到由多个源服务器组成的池中。这可以防止任何单个服务器过载,并确保即使一台服务器出现故障,站点仍然可用。
通过使用反向代理,网站永远不必泄露其源服务器的实际 IP 地址。这使得攻击者难以针对原服务器发起针对性的攻击,例如 DDoS 攻击。相反,代理会处理流量,并使用其专用资源来抵御网络威胁。
反向代理可以在更靠近用户的位置缓存,或临时保存网站内容的副本。例如,如果芝加哥的用户访问托管在伦敦的网站,芝加哥本地的反向代理可以存储数据。然后,来自同一区域的未来访问者可以直接从该本地代理接收内容,这大大减少了加载时间。
GSLB 是一种性能优化方法,反向代理将用户定向到地理位置最接近的特定 Web 服务器。通过最小化数据必须在客户端和服务器之间传输的物理距离,代理减少了延迟并加快了用户体验。
对于源服务器来说,加密和解密 SSL/TLS 通信可能是一项繁重的任务。反向代理可以通过处理传入请求的解密和传出响应的加密来接管此责任。这一流程为源服务器腾出宝贵的处理能力,以专注于其他任务。