代理简介

介绍

proxy 也称为代理服务器,是一个服务器软件,在互联网上作为客户端和服务器之间的中间人。如果没有代理,客户端将直接向服务器发送资源请求,然后服务器将直接向客户端提供资源。

一般来说,与安装的代理软件的服务器硬件的组合包通常也被称为代理服务器,然而,本文将专注于传统上定义为软件的代理,并在网络服务器的背景下。

本文将为您提供对代理和其子类型的理解,以及它们如何在常见设置中有用. 通过阅读本文,您将能够识别代理在哪些情况下是有益的,并在任何特定情况下选择向前代理和反向代理之间正确的解决方案。

了解前方接口

在这种情况下,客户端发送请求的所有尝试都将被发送到向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向向

forward proxy 的常见用例是为了在互联网上获得更大的隐私或匿名性. forward proxy 在客户端的位置上访问互联网,在这个过程中它可以使用与客户端的原始 IP 地址不同的 IP 地址。

根据它是如何配置的,前进代理可以授予一系列功能,允许您:

  • 避免广告跟踪
  • 环境监控
  • 根据您的地理位置确定限制

向前代理也被用于集中安全和基于权限的访问系统,例如在工作场所。当所有互联网流量通过一个共同的向前代理层时,管理员只能允许特定客户端通过一个共同的防火墙过滤访问互联网。

请记住,向前代理必须手动设置才能使用,而反向代理可以被客户端忽略,根据客户端的IP地址是否被向前代理服务器传递给源服务器,隐私和匿名性可以被授予或保留透明。

对于前端代理商,有几个选择可以考虑:

  • Apache:一个流行的开源 Web 服务器,提供向前代理功能
  • Nginx:另一个流行的开源 Web 服务器,具有向前代理功能
  • Squid:使用 HTTP 协议的开源向前代理。此选项不包括整个 Web 服务器解决方案。您可以查看我们的指南(如何在 Ubuntu 20.04 上设置私人连接的 Squid 代理程序)(https://andsky.com/tech/tutorials/how-to-set-up-squid-proxy-on-ubuntu-20-04)。
  • Dante:使用 SOCKS 代替 HTTP 的向前代理程序,使其更适合与同行流量等用例。您也可能想要查看 [如何在 Ubuntu 20.0

反向接口的理解

反向代理服务器作为一个网络服务器的代表,以其名义处理客户端的请求。 这个网络服务器可以是一个服务器或多个服务器。 此外,它可以是一个应用程序服务器,如 Gunicorn。 在任何情况下,请求都会从一个客户端通过互联网来。 通常,这个请求会直接传递给客户端所要求的资源的网络服务器。 相反,反向代理服务器作为一个中间人,将网络服务器与开放的互联网进行直接交互。

从客户端的角度来看,与反向代理互动与直接与Web服务器互动没有什么不同. 它在功能上是一样的,客户端无法区分。

反向代理提供的特性如:

  • Web 服务器层的集中安全性.
  • 基于您可以配置的规则来导入流量
  • 添加缓存功能

虽然集中式安全是前进和反向代理的优势,反向代理为 Web 服务器层提供这种功能,而不是客户端层。而不是专注于维护 Web 服务器层上的防火墙,这些防火墙可能包含多个不同配置的服务器,大部分防火墙安全可以专注于反向代理层。

在背后存在的多个服务器的情况下,反向代理还处理向哪个服务器发送请求的指示。 多个 Web 服务器可能服务于相同的资源,每个服务于不同类型的资源,或两者的某种组合. 这些服务器可以使用 HTTP 协议作为传统的 Web 服务器,但也可以包括应用程序服务器协议,如 FastCGI。

反向代理也可以通过提供缓存功能来利用其在 Web 服务器面前的位置。大型静态资产可以与缓存规则进行配置,以避免在每个请求中打击 Web 服务器,有些解决方案提供直接服务静态资产的选项,而无需触摸 Web 服务器。

虽然Apache网页服务器也具有逆向代理功能,但它是Apache的附加功能,而Nginx最初是用来设计的,并专注于逆向代理功能。

向前代理和逆向代理使用案例的区别

由于前进反向带有方向性的内涵和误导性比较,与进出进出流量进行比较,这些标签可能会令人困惑,因为这两种类型的代理处理请求和响应。

反向代理服务器在构建解决方案时很有用,用于在互联网上服务Web应用程序,它们代表您的Web服务器在与互联网的任何交互中。

向前代理是有用的,当放置在客户端流量前面为您的个人使用或在工作场所环境. 他们代表您的客户端流量在任何互动与互联网。

根据用例进行差异化,而不是专注于类似的命名公约,将有助于避免混淆。

结论

本文定义了什么是 proxy 以及两种主要类型是 forward proxy 和 reverse proxy. 实用使用案例和有益功能的探索被用来区分 forward proxy 和 reverse proxy. 如果您想探索 proxies 的实施,您可以查看我们的指南 如何在 Ubuntu 20.04 服务器上配置 Nginx 作为 Web 服务器和 Apache 的 reverse proxy

Published At
Categories with 技术
comments powered by Disqus