代理服务器来接受外部的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给外部的请求连接的客户端,此时代理服务器对外就表现为一个服务器。
反向代理一般作用:
1:减轻源服务器负载
2:保障源服务器安全
3:对源服务器进行负载均衡(Load Balance)。
一般反向代理置于源服务器的前端,配备大容量的内存和高速磁盘,缓存客户的请求,所以反向代理又称为服务器加速(Server accelerate)。源服务器一般不再和客户直接通讯,当客户请求没有缓存的内容或者动态内容时,反向代理向源服务器发送请求,然后把回应转发给客 户,在这种情况下,反向代理服务器通常要为一个请求同时维护两个会话。和普通的代理不同,反向代理一般只代理一台或者有限的几台服务器,对于客户而言,反 向代理服务器对于他们就相当于源服务器,对于源服务器而言,反向代理服务器通常就是唯一的客户,因为一般客户不和源服务器直接通信。典型情况下,源服务器 对于客户或者客户对于源服务器,都是不可见的。
反向代理服务器位于本地WEB服务器和外部网络之间,如下图所示:
当用户浏览器发出一个HTTP请求时,通过域名解析将请求定向到反向代理服务器(如果要实现多个WEB 服务器的反向代理,需要将多个WEB服务器的域名都指向反向代理服务器)。由反向代理服务器处理器请求。反向代理一般只缓存可缓冲的数据(比如html网 页和图片等),而一些CGI脚本程序或者ASP.NET/JSP之类的程序不缓存。它根据从WEB服务器返回的HTTP头标记来缓冲静态页面。有四个最重要HTTP头标 记:
* Last-Modified: 告诉反向代理页面什么时间被修改
* Expires: 告诉反向代理页面什么时间应该从缓冲区中删除
* Cache-Control: 告诉反向代理页面是否应该被缓冲
* Pragma: 告诉反向代理页面是否应该被缓冲.
参考:
http://www.it118.org/Specials/321869dd-98cb-431b-b6d2-82d973cd739d/df396365-696a-47c4-86ed-76272a237597.htm