在计算机网络中,一个基本的反向代理位于一组服务器和想要使用它们的客户端之间。客户端是可以向服务器提交请求的任何硬件或软件——例如,您的 Web 浏览器是您用于阅读本文的客户端,它托管在我们的服务器上。反向代理处理从客户端到服务器的所有请求,它还将所有响应和服务从服务器传递回客户端。从客户的角度来看,这使它看起来好像一切都来自一个地方。
组织和企业使用反向代理来巩固他们的互联网存在。根据您的配置方式,反向代理可以在单个服务器中提供多种功能之一。它的一部分是接待员,将传入的请求引导到正确的部门,另一部分是保镖,让侵入性的眼睛远离您的内部基础设施。
正向代理与反向代理
一个代理服务器(或“转发代理”)作为您和您所选择的服务器之间的中介。代理为您转发连接——它传递您的请求,接收来自您正在使用的站点和服务的回复,然后将它们发送给您。相反,反向代理接收来自另一个网络上的客户端的请求,将其传递给内部服务器,接收结果,然后将其中继回客户端。这就是代理如何工作的基础:它们在客户端和服务器之间来回传递数据。换句话说,对于任何试图区分正向代理和反向代理的人来说,反向代理与代理完全相同,只是反向代理:正向代理代表客户端,而反向代理代表客户端服务器。
反向代理有什么用途?
反向代理位于客户端和网络服务(例如网站)之间。反向代理提供的三个最重要的功能是安全性、负载平衡和易于维护。反向代理也可以在身份品牌塑造和优化中发挥作用。
加强网络安全
您可以创建和配置反向代理,以根据客户端请求的性质将请求转发到一个或多个内部服务器。如果它是一个网站,一个 URL 可能由您的客户支持页面提供,而另一个 URL 可能会进入您的购物车。反向代理仅转发您想要服务的请求。如果您只提供 Web 内容,请将反向代理配置为排除端口 80 和 443(分别负责 HTTP 和 HTTPS 的默认端口)以外的所有请求。这使您可以根据类型转移流量,这也意味着 ne'er-do-wells 不能直接攻击您的内部服务。您还可以将反向代理升级为防火墙,这是一种具有额外功能或额外安全功能的代理服务器。
反向代理负载均衡
如果过多的互联网流量使您的系统变慢,您可以使用负载平衡,将您的流量分配到一台或多台服务器上以提高整体性能。负载平衡使您可以用更具弹性的集群替换单个过度工作的后端服务。此技术还确保您的应用程序不再有单点故障。如果一台服务器出现故障,它的兄弟姐妹可以接管。这只是很好的常识。反向代理可以使用一种称为循环 DNS的技术来引导请求通过内部服务器的轮换列表。它很粗糙,但出奇的有效。如果您的要求越来越高,您可以切换到包含负载平衡功能的更复杂的设置。
改善网站维护
当您的内部服务对公众隐藏时,删除服务、添加新服务、升级服务或回滚服务会更容易。这使得改进对客户和专业 IT 人员的压力都减轻了。与其升级您唯一的电子商务网站并祈祷它仍然可以正常工作,不如将另一台服务器与新版本一起在线。然后,配置您的代理以将新客户会话定向到新服务器。一旦你确定它有效,关闭旧的。由于用户正在与您的代理交谈,而不是直接与那些内部服务交谈,因此他们不会注意到这种变化。
此过程也适用于负载平衡的服务器。升级其中一个,测试,然后依次升级其余的。反向代理意味着永远不会接到凌晨 3 点的电话,因为您的 IT 部门需要从备份中恢复您的旧网站。
身份品牌
企业通常使用自己网络之外的外部服务来托管其网站的内容管理系统或购物车应用程序。您可以使用反向代理来隐藏该详细信息,而不是告诉网站访问者您将他们发送到另一个 URL 进行付款。反向代理可以隐藏提供客户体验组件的外部供应商的存在,例如您的云服务提供商。
缓存常用数据以提高性能
如果您提供大量静态内容,例如图像和视频,您可以设置反向代理来缓存一些内容。这样做可以减轻您内部服务的压力。
反向代理真的安全吗?
添加一个受欢迎的安全层,反向代理可以有效地保护系统免受 Web 漏洞的影响。反向代理位于外部客户端和您的内部服务之间,防止任何人直接访问您的网络。您暴露的 IT 基础架构越少,黑客对您的重要专有数据或客户数据的吸引力就越小。
这降低了攻击的风险有两个原因:
- 您的服务器受到更好的保护,免受不良行为者的侵害。
- 喜欢易于破解的网站的黑客会发现您的网站更安全并继续前进。
因为反向代理充当您的网络存在的面孔,所以它可以代表您的所有内部服务器托管证书并处理 SSL 协商。这意味着您不需要管理多个证书,也不需要对内部网络进行加密。
为了获得更高的安全性,请构建一个互联网防火墙,它实际上只是一个带有额外牙齿和多疑心的代理。您可以将基本的反向代理换成添加防火墙功能的反向代理,而无需更改任何内部服务的工作方式。