HTTP代理及反向代理
HTTP代理及反向代理
出于安全考虑,局域⽹内的机器访问访问墙外的⽹站借助于代理服务器进⾏,如果把局域⽹外Internet想象成⼀个巨⼤的资源库,局域⽹内的⽤户要访问这个库⾥的资源必须统⼀通过代理服务器进⾏。反过来,如果局域⽹向Internet提供资源,让Internet上的⽤户访问局域⽹内的资源也可以设置成⼀个代理服务器,只不过与我们常⽤的代理服务器⽅向正好相反,所以叫反向代理(Reverse Proxy)。
1、代理可分为三种:标准的代理缓冲服务器、透明代理缓冲服务器、反向代理缓冲服务器
(1)标准的代理缓冲服务器
  这种⽅式需要在浏览器配置中指明代理服务器的IP地址和端⼝号。浏览器每次都把请求送给代理服务器处理。代理服务器可以有缓存的功能:它根据请求确定是否连接到远程web服务器获取数据,如果在本地缓冲区有⽬标数据,则直接将缓存数据传给⽤户即可,如果没有的话则先取回数据,先在本地保存⼀份缓冲,然后将数据发给客户端浏览器。
缺点:⽤户可以知道Web服务的数据库等系统的IP地址和端⼝号等敏感息,由于暴露了这些关键信息,容易遭受到恶意攻击所以安全性⽐较差。
应⽤:正向代理的典型应⽤就是为⽕墙内局域⽹局域⽹客户端提供访问Internet的途径。其次使⽤正向代理
还可以实使⽤缓冲特性减少⽹络使⽤率以及权限验证等功能,如上⽹权限。
代理服务器的设置⼀般对于企业内部管理系统,使⽤正向代理的⽅式,释放专门的⽹络带宽,特定域名实现某些功能只能有部分员⼯有权限访问。
(2)透明代理缓冲服务器
  透明代理缓冲服务器和标准代理服务器的功能完全相同,但是代理操作对客户端的浏览器是透明的(即不需指明代理服务器的IP和端⼝号)。透明代理服务器阻断⽹络通信,并且过滤出访问外部的HTTP(80端⼝)流量。如果客户端的请求在本地有缓冲则将缓冲的数据直接发给⽤户,如果在本地没有缓冲则向远程web服务器发出请求,其余操作和标准的代理服务器完全相同。对于Linux操作系统来说,透明代理使⽤Iptables或者Ipchains实现。因为不需要对浏览器作任何设置,所以透明代理对于ISP(Internet服务器提供商)特别有⽤。
(3)反向代理缓冲服务器
  反向代理是和前两种代理完全不同的⼀种代理服务,使⽤它可以降低原始web服务器的负载。反向代理服务器承担了对原始web服务器的静态页⾯的请求,防⽌原始服务器过载。它位于本地web服务器和Internet之间,处理所有对web服务器的请求,组织了web服务器和Internet的直接通信。如果互联⽹⽤户
请求的页⾯在代理服务器上有缓冲的话,代理服务器直接将缓冲内容发送给⽤户;如果没有缓冲,则先向web服务器发出请求,取回数据并在本地缓存后再发送给⽤户。这种⽅式通过降低了向web服务器的请求数,从⽽降低了web服务器的负载。
代理服务器和反向代理都充当互联⽹和计算机之间的缓冲区,但是代理服务器代表客户端或客户端⽹络处理进出Web服务器的流量,主要为客户端提供匿名性,绕过访问限制,保护客户端的安全。反向代理恰恰相反。
反向代理位于⼀组Web服务器和Internet之间,并代表这些服务器处理流量。拥有许多不同服务器的组织(例如,拥有多种类型产品和服务的⼤型⽹站)可以将其所有服务器置于⼀个⾯向公众的互联⽹存在之后。反向代理将其服务器与客户端流量隔离,通过阻⽌直接通信来保护⽹络服务器免受第三⽅的攻击。主要功能是加强⽹络安全、负载均衡以及缓存常⽤数据提⾼性能。
总之,代理位于客户端前⾯,反向代理位于服务器前⾯。正向代理代理的对象是客户端,反向代理代理的对象是服务端。它们主要区别就是位置不同、⽤途不同。
2、反向代理有两种⽤法:
(1)⼀种是为多个⽹站的Web服务器提供代理,这些⽹站的域名都指向反向代理服务器,对这些⽹站的请求全都发给了反向代理,由反向代理服务器转发HTTP请求给相应⽹站的Web服务器。
(2)⼀种是为⼀个⽹站的Web服务器集提供代理,反向代理作为负载均衡器决定具体哪个Web服务器接收请求。
反向代理总是位于Web服务器的前端,Internet上的⽤户对Web服务器的连接要先经过反向代理,然后由反向代理决定哪个Web服务器处理⽤户请求,并将请求路由给相应的Web服务器。对静态内容可以在反向代理上缓存,这样就不⽤再向Web服务器路由了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。