博客

什么是反向代理?

  • Mar 19, 2024, 12:30 AM
  • 1 分钟

定义

反向代理,反向代理服务器,反向代理reverse proxy)- 这是一个由计算机程序组成的复杂系统,用于控制和分配Web资源服务器之间的入站流量。


当来自世界各地的数千万人访问YouTube时,正是反向代理决定从哪个具体服务器获取视频并向用户传输。这个系统的基础是反向代理。

据非官方数据显示,YouTube在30多个数据中心的不同大陆上拥有超过250万台服务器。为了确保服务的快速和可靠运行,重要的是要分配入站请求和返回的流量。

软件示例

在撰写本文时,以下反向代理最为知名:

  • Nginx;
  • Apache;
  • Caddy;
  • HAProxy;
  • Envoy;
  • Traefik.

这些软件中的一些最初是为其他任务和目的而创建的,因此它们的功能远不止于反向代理。特别是,它们可以充当Web服务器、邮件服务器、正向代理等功能。

反向代理解决了哪些问题

负载均衡

如果Web资源位于多个服务器上,则反向代理会将入站请求均匀分配给它们。

服务器健康检查

如果任何服务器暂时失效,反向代理会“察觉”并停止将请求发送到该服务器。在服务器恢复工作后,请求会自动开始发送到该服务器。

一个URL中的多个服务器

通过反向代理,可以在一个URL下托管多个服务器甚至集群。

内容压缩

反向代理可以在网站端压缩信息以供用户使用。

这种方法可以显著加快数据传输速度。用户以压缩的形式获取信息。浏览器通过用户设备的处理器“解压”信息,而不是通过互联网下载全部内容。

网站加速(请求缓存)

通过反向代理加速网站的工作是通过缓存(记忆)网站提供的静态和动态内容实现的。

例如,如果视频托管的反向代理“意识到”某个视频非常受欢迎(有很多请求观看该视频),它可以将其缓存起来,并在下次请求时直接提供信息,而且还以压缩的形式。

“喂食”

在大多数现代网站上,页面是动态构建的。也就是说,用户从网站的数据库加载信息,而页面是由浏览器在用户设备上构建的。

如果与用户的连接速度较慢,服务器花费的时间比实际上应该花费的时间更多。因此,可以进行配置,使服务器完全将数据发送给反向代理,然后代理以“茶匙一小时”的方式“喂养”慢速客户端,从而使服务器快速释放以执行其他任务。


软件防火墙

在大多数情况下,DDoS攻击的防护是通过配置反向代理来实现的,以允许或阻止入站流量。

阻止是基于规则进行的,这些规则使系统能够区分普通用户和恶意用户。其中一条规则是“请求限制”。


SSL/TLS流量保障

如果网站不支持处理加密信息,即无法接收和发送HTTPS流量,则可以通过安装和配置反向代理来解决此问题。


A/B测试

这种测试方法用于验证关于用户在使用相同但以不同方式制作的服务时的行为假设。例如,两个不同设计的着陆页面。


服务器信息保护

在适当的设置下,反向代理可以隐藏其后面的服务器信息。这是保护Web服务的额外措施 - 外部系统无法确定服务器的IP地址和位置。

摘要

反向代理服务器是一种软件而不是硬件。该软件位于Web资源的一侧,旨在过滤输入流量并将其重定向到服务器,以实现负载平衡、加速工作和保护资源免受外部攻击。

尝试我们的移动代理

在 OnlineProxy 中,您将找到来自世界各地的移动代理,每日资费从 0.7 $ 起,并且 IP 轮换。代理非常适合工作任务。我们保证质量,否则退款。

登记