什么是HTTP反向代理

作者:IPIDEA

2021-02-21 14:39:01

基于安全方面的考虑,局域网中的机器可以通过代理服务器对网络进行访问,如果局域网外的Internet被认为是一个巨大的资源库,则局域网中的用户访问该库中的资源必须统一通过代理服务器。如果局域网向Internet提供资源,则允许Internet上的用户访问局域网内的资源也可以设置为代理服务器,不过,这与我们通常使用的代理服务器完全相反,因此称为反向代理(ReverseProxy)。

 

一、代理可以分为三种类型:标准的代理缓冲服务器,透明的代理缓冲服务器,反向的代理缓冲服务器。

(1)标准代理缓冲服务器。

这就要求在浏览器配置中指明代理服务器的IP地址和端口号。每一次浏览器都向代理服务器发送请求。该代理服务器可以具有缓存功能:它根据请求决定是否连接到远程web服务器获取数据,如果目标数据位于本地缓冲区,则直接向用户传递缓存数据传给用户;如果没有,则先返回数据,然后在本地保存一份缓冲,然后向客户端浏览器发送数据。

 

(2)透明的代理缓冲服务器。

透明代理缓冲服务器和标准的代理服务器具有完全相同的功能,但是代理操作对客户端的浏览器是透明的(即不需指明代理服务器的IP和端口号)。透明度代理服务器安全采集公开数据信息网络通信,并过滤对外部HTTP(80端口)流量的访问。若客户机的请求在本地有缓冲,则将缓冲的数据直接发送给用户;若本地没有缓冲,则将请求发送到远程web服务器,其余操作与标准代理服务器相同。透明代理使用IptablesIpchains来实现Linux操作系统。由于无需为浏览器进行任何设置,因此对于ISP(Internet服务器供应商)来说,透明代理尤其有用。

 

(3)反向代理缓冲服务器。

反向代理是一种与前两种完全不同的代理服务,使用这种服务可以减少原始web服务器的负载。反向代理服务器负责请求原始web服务器的静态页面,防止原始服务器超载。该系统位于本地web服务器和Internet之间,处理对该服务器的所有请求,并组织web服务器与Internet的直接通信。若互联网用户请求的页面在代理服务器上有缓冲,则代理服务器直接向用户发送缓冲内容;如果没有缓冲,则向web服务器发出请求,获取数据并在本地缓存之后发送给用户。这样通过减少发送到web服务器的请求数量,web服务器的负载就会降低。

 

二、使用反向代理有两种方式:

(1)一个是为多个网站的Web服务器提供代理,这些网站的域名均指向反向代理服务器,将对这些网站的请求全部发送到反向代理服务器,反向代理服务器将HTTP请求转发到相应网站的Web服务器。

 

(2)一种是为网站的Web服务器集群提供代理,反向代理以负载均衡的方式决定哪个Web服务器接收请求。

 

反向代理始终处于Web服务器的前端,Internet上用户连接到Web服务器的过程首先是反向代理的过程,然后由反向代理来决定哪个Web服务器处理用户请求,并将请求路由到对应的Web服务器。可以在反向代理上缓存静态内容,这样就不必再向Web服务器路由了。

三、反向代理除了提供缓存和负载平衡之外,还提供以下功能:

(1)安全:反向代理将用户与Web服务器隔离开,用户难以对特定服务器进行攻击;

(2)数据加密/SSL加速:某些Web服务器可能没有SSL加密功能,但具有加密功能的反向代理服务器能够对Web服务器进行数据加密,而配置了SSL加速硬件的反向代理服务器也能够为Web应用提供高速加密通道;

压缩:代理服务器可以对经过的数据进行压缩,从而节省带宽。

*ipidea提供的服务必须在境外网络环境下使用

热门资讯