代理是在计算机和服务器之间充当中介的工具。尽管许多人都已熟悉正向代理及其作用,但很少有人知道反向代理。
正向代理是拦截来自计算机请求的中介,在将它们转发到目标服务器之前会对其进行修改。它这样做是为了隐藏客户端的互联网协议(IP)和位置。
反向代理则相反,它位 Web 服务器之前,拦截来自客户端的请求,确保客户端不会直接与服务器交互。这样的安排有很多优点,从服务器保护,到提高服务器性能和灵活性。
因此,这类服务器有所不同,我们很快还会介绍反向代理与正向代理的区别。
什么是反向代理?
什么是反向代理?根据反向代理的定义,它是位于网络防火墙后的一款工具或服务器,拦截来自网络的传入请求。它们收到这些请求,将请求压缩后再定向到相应的服务器。
压缩请求对于提高速度并让机器之间的流量更顺畅非常重要。反向代理也可以处理数据加密,这对于降低服务器负载很有必要。
反向服务器的最终目标是为 Web 服务器提供额外安全和保护,它通过提供一个可以检查,甚至修改所有流量的点来达到安全和保护。
Web 服务器可以利用反向代理来隐藏身份,就像同一台计算机使用正向服务器可以隐藏在线身份一样。
反向代理有什么用途?
反向代理在许多方面可以为企业带来好处,它们主要用于以下方面:
- 提高安全性
反向代理通常用于捕获传入请求并安全处理这些请求。它们通过为企业提供额外的安全层来监控到达服务器的流量类型。
而且,因为它们位于网络和服务器之间,反向代理成为保护网络服务器免遭攻击的第一道防线。
- 提供静态内容
网站通常是为提供各种内容而建,有些是动态的,有些则是静态的。动态内容不时变化,静态内容则不会变。反向代理可以轻松配置为可以处理和分发静态内容;而且,还可以配置为代表服务器存储和缓存需要经常请求的数据。
这些优点有助于减少服务器本身的大量内容和负载。这样减少工作量可以增加 Web 能力,提高动态内容渲染能力。这可以提高网站性能,提升网络效率,让处理速度更快。
- 平衡服务器负载
每分钟都有数以百万计的用户试图上网访问特定信息。有时,其中大量用户可能在尝试访问相同数据。这就是我们通常所说的传入流量。
当单个服务器处理的流量超过它自然处理的阈值时,可能会崩溃。
为了缓解这种情况,有时将反向代理配置为接受传入流量,然后将它们均衡分布到不同服务器。这种均匀的流量分配有助于确保负载平衡并防止服务器频繁崩溃,还可以让网络运行更顺畅、更快。
- SSL 加密
安全套接字层(SSL)加密有助于在加密和未加密的客户端请求之间进行转换。在大多数情况下,将反向代理被配置为处理这种类型的加密,以便将传入的请求解密,然后以未加密的方式传递给 Web 服务器。
这为网站带来很多好处,无须安装 SSL 终止证书,能为网站服务器提供一个配置点来处理 SSL 和传输层安全(TLS)等等。这种智能请求解密方式也意味着大大减少流量处理方式。
反向代理与正向代理的区别
反向代理与正向代理之间的两个主要区别在于它们的定位和使用。
正向代理位于计算机前面,充当计算机与互联网之间的中介。反向代理位于 Web 服务器之前,拦截和阻止计算机直接与服务器交互。好处如上文所述。
另外,反向代理和正向代理在使用方式上有所不同。反向代理用于提供更好的服务器安全性、平衡传入流量和负载、提供静态内容和缓存并用于 SSL 加密;而正向代理则用于 Web 抓取等,增强客户端的安全性,并帮助绕过限制。
总结
反向代理与正向代理之间虽有区别,非常微妙,但了解它们的区别仍然非常重要。
这两种代理都能提供一些实际好处,但最终选择使用哪种代理,完全取决于您需要将代理放置在什么位置以及它们的用途。