(转载)反向代理服务器的工做原理

  本文转载自:http://blog.csdn.net/keyeagle/article/details/6723408数据库

1、概述

  反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的链接请求,而后将请求转发给内部网络上的服务器;并将从服务器上获得的结果返回给Internet上请求链接的客户端,此时代理服务器对外就表现为一个服务器。缓存

      一般的代理服务器,只用于代理内部网络对Internet的链接请求,客户机必须指定代理服务器,并将原本要直接发送到Web服务器上的http请求发送 到代理服务器中。当一个代理服务器可以代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。安全

2、反向代理服务器的工做原理

      反向代理服务器一般有两种模型,它能够做为内容服务器的替身,也能够做为内容服务器集群的负载均衡器。服务器

一、做内容服务器的替身                

        若是您的内容服务器具备必须保持安全的敏感信息,如信用卡号数据库,可在防火墙外部设置一个代理服务器做为内容服务器的替身。当外部客户机尝试访问内容服务器时,会将其送到代理服务器。实际内容位于内容服务器上,在防火墙内部受到安全保护。代理服务器位于防火墙外部,在客户机看来就像是内容服务器。网络

       当客户机向站点提出请求时,请求将转到代理服务器。而后,代理服务器经过防火墙中的特定通路,将客户机的请求发送到内容服务器。内容服务器再经过该通道将结果回传给代理服务器。代理服务器将检索到的信息发送给客户机,好像代理服务器就是实际的内容服务器(参见图 2)。若是内容服务器返回错误消息,代理服务器会先行截取该消息并更改标头中列出的任何 URL,而后再将消息发送给客户机。如此可防止外部客户机获取内部内容服务器的重定向 URL。负载均衡

       这样,代理服务器就在安全数据库和可能的恶意攻击之间提供了又一道屏障。与有权访问整个数据库的状况相对比,就算是侥幸攻击成功,做恶者充其量也仅限于访 问单个事务中所涉及的信息。未经受权的用户没法访问到真正的内容服务器,由于防火墙通路只容许代理服务器有权进行访问。spa

  二、做为内容服务器的负载均衡器

       能够在一个组织内使用多个代理服务器来平衡各 Web 服务器间的网络负载。在此模型中,能够利用代理服务器的高速缓存特性,建立一个用于负载平衡的服务器池。此时,代理服务器能够位于防火墙的任意一侧。若是 Web 服务器天天都会接收大量的请求,则可使用代理服务器分担 Web 服务器的负载并提升网络访问效率。.net

      对于客户机发往真正服务器的请求,代理服务器起着中间调停者的做用。代理服务器会将所请求的文档存入高速缓存。若是有不止一个代理服务器,DNS 能够采用“循环复用法”选择其 IP 地址,随机地为请求选择路由。客户机每次都使用同一个 URL,但请求所采起的路由每次均可能通过不一样的代理服务器。代理

      可使用多个代理服务器来处理对一个高用量内容服务器的请求,这样作的好处是内容服务器能够处理更高的负载,而且比其独自工做时更有效率。在初始启动期 间,代理服务器首次从内容服务器检索文档,此后,对内容服务器的请求数会大大降低。blog

相关文章
相关标签/搜索