什么是反向代理(reverse proxy server)?
什么是反向代理(reverse proxy server)?
答案或建议:
代理服务器是使用非常普遍的一种将局域网主机联入互联网的一种方式,使用代理上网可以节约紧缺的IP地址资源,而且可以阻断外部主机对内部主机的访问,使内部网主机免受外部网主机的攻击。但是,如果想让互联网上的主机访问内部网的主机资源(例如:Web站点),又想使内部网主机免受外部网主机攻击,一般的代理服务是不能实现的,需要使用反向代理来实现。
一.反向代理的概念
什么是反向代理呢?其实,反向代理也就是通常所说的WEB服务器加速,它是一种通过在繁忙的WEB服务器和Internet之间增加一个高速的WEB缓冲服务器(即:WEB反向代理服务器)来降低实际的WEB服务器的负载。典型的结构如下图所示:
Web服务器加速(反向代理)是针对Web服务器提供加速功能的。它作为代理Cache,但并不针对浏览器用户,而针对一台或多台特定Web服务器(这也是反向代理名称的由来)。实施反向代理(如上图所示),只要将Reverse Proxy Cache设备放置在一台或多台Web服务器前端即可。当互联网用户访问某个WEB服务器时,通过DNS服务器解析后的IP地址是Reverse Proxy Server的IP地址,而非原始Web服务器的IP地址,这时Reverse Proxy Server设备充当Web服务器,浏览器可以与它连接,无需再直接与Web服务器相连。因此,大量Web服务工作量被卸载到反向代理服务上。不但能够防止外部网主机直接和web服务器直接通信带来的安全隐患,而且能够很大程度上减轻web服务器的负担,提高访问速度。
二.反向代理和其它代理的比较
下面将对几种典型的代理服务作一个简单的比较。在网络上常见的代理服务器有三种:
1. 标准的代理缓冲服务器
一个标准的代理缓冲服务被用于缓存静态的网页(例如:html文件和图片文件等)到本地网络上的一台主机上(即代理服务器)。当被缓存的页面被第二次访问的时候,浏览器将直接从本地代理服务器那里获取请求数据而不再向原web站点请求数据。这样就节省了宝贵的网络带宽,而且提高了访问速度。但是,要想实现这种方式,必须在每一个内部主机的浏览器上明确指明代理服务器的IP地址和端口号。客户端上网时,每次都把请求送给代理服务器处理,代理服务器根据请求确定是否连接到远程web服务器获取数据。如果在本地缓冲区有目标文件,则直接将文件传给用户即可。如果没有的话则先取回文件,先在本地保存一份缓冲,然后将文件发给客户端浏览器。
2. 透明代理缓冲服务器
透明代理缓冲服务和标准代理服务器的功能完全相同。但是,代理操作对客户端的浏览器是透明的(即不需指明代理服务器的IP和端口)。透明代理服务器阻断网络通信,并且过滤出访问外部的HTTP(80端口)流量。如果客户端的请求在本地有缓冲则将缓冲的数据直接发给用户,如果在本地没有缓冲则向远程web服务器发出请求,其余操作和标准的代理服务器完全相同。对于Linux操作系统来说,透明代理使用Iptables或者Ipchains实现。因为不需要对浏览器作任何设置,所以,透明代理对于ISP(Internet服务器提供商)特别有用。
3. 反向代理缓冲服务器
反向代理是和前两种代理完全不同的一种代理服务。使用它可以降低原始WEB服务器的负载。反向代理服务器承担了对原始WEB服务器的静态页面的请求,防止原始服务器过载。它位于本地WEB服务器和Internet之间,处理所有对WEB服务器的请求,组织了WEB服务器和Internet的直接通信。如果互联网用户请求的页面在代理服务器上有缓冲的话,代理服务器直接将缓冲内容发送给用户。如果没有缓冲则先向WEB服务器发出请求,取回数据,本地缓存后再发送给用户。这种方式通过降低了向WEB服务器的请求数从而降低了WEB服务器的负载。
三.反向代理工作原理
反向代理服务器位于本地WEB服务器和Internet之间,如下图所示:
当用户浏览器发出一个HTTP请求时,通过域名解析将请求定向到反向代理服务器(如果要实现多个WEB服务器的反向代理,需要将多个WEB服务器的域名都指向反向代理服务器)。由反向代理服务器处理器请求。反向代理一般只缓存可缓冲的数据(比如html网页和图片等),而一些CGI脚本程序或者ASP之类的程序不缓存。它根据从WEB服务器返回的HTTP头标记来缓冲静态页面。有四个最重要HTTP头标记:
Last-Modified: 告诉反向代理页面什么时间被修改
Expires: 告诉反向代理页面什么时间应该从缓冲区中删除
Cache-Control: 告诉反向代理页面是否应该被缓冲
Pragma: 告诉反向代理页面是否应该被缓冲.
例如:在默认情况下,ASP页面返回” Cache-control: private.” ,所以ASP页面时不会在反向代理服务器缓存的
文章出自:http://www.baikewenda.com/tech/net/6/11/a12502914.htm
本站其它内容:
→对方发了数次邮件都已成功发出,我为什么仍然收不到?
→怎么将文档在另外一台电脑中打印出来?
→“我的文档”跑到“我的电脑”里,怎么也删除不掉
→什么叫博克?
→怎样发短信让对方不见我的号码
→HTML文件和htm文件有什么分别?
→为什么需要防火墙?
→为什么单击“关闭计算机”按钮后计算机没有反应?
→U盘和手机内存卡做成启动盘后如何恢复原样
→Android有什么好用的任务管理器?
→VB中如何将输入的字符串反序显示?
→CDMA2000 1X EV-DO指的是什么?
→通过80PLUS认证的电源相比普通电源有什么优势?
→如何简单快速地识别一款电源的真伪?
→购买电源是不是产品的额定功率越大越好?
→不合格的电源在平时使用中表现出来的故障是什么?
→怎么将文档在另外一台电脑中打印出来?
→“我的文档”跑到“我的电脑”里,怎么也删除不掉
→什么叫博克?
→怎样发短信让对方不见我的号码
→HTML文件和htm文件有什么分别?
→为什么需要防火墙?
→为什么单击“关闭计算机”按钮后计算机没有反应?
→U盘和手机内存卡做成启动盘后如何恢复原样
→Android有什么好用的任务管理器?
→VB中如何将输入的字符串反序显示?
→CDMA2000 1X EV-DO指的是什么?
→通过80PLUS认证的电源相比普通电源有什么优势?
→如何简单快速地识别一款电源的真伪?
→购买电源是不是产品的额定功率越大越好?
→不合格的电源在平时使用中表现出来的故障是什么?
推荐内容
·如何让电脑保存网站登陆名?
·两台电脑如何共用一个宽带账号上网
·如何改变QQ绑定的手机号码
·怎么屏蔽电信的114搜索
·请问怎样清理上网痕迹?
·宽带网络测速可达400K,可实际下载只50多
·怎样为自己的QQ空间添加密码
·一张QB卡可以充值多个QQ吗?
·“QQ程序出错,请重新安装” 请问怎样安装?
·怎么饲养QQ宠物最好?
·怎么划分子网
·网络交换机和路由器有什么不同?
·如何令QQ上线的铃声取消?
·如何去掉不需要的QQ自定义表情
·怎样撤消QQ群
·怎样知道我是不是在对方的QQ好友里
·路由器的正确连接方法可以让几台电脑共同上网?
·中文版的FireFox怎么变成英文版?
·什么是“网关”和“子网掩码”?
·2007年如何免费领养QQ宠物?
·在QQ上,怎么才可以和我的朋友同步听歌?
·VPN拨号后不能上网的问题
·看在线视频(如优酷)的时候总出现双画面
·如何保密自己的上网历史?
·关于工作组共享打印机的方案
·两台电脑如何共用一个宽带账号上网
·如何改变QQ绑定的手机号码
·怎么屏蔽电信的114搜索
·请问怎样清理上网痕迹?
·宽带网络测速可达400K,可实际下载只50多
·怎样为自己的QQ空间添加密码
·一张QB卡可以充值多个QQ吗?
·“QQ程序出错,请重新安装” 请问怎样安装?
·怎么饲养QQ宠物最好?
·怎么划分子网
·网络交换机和路由器有什么不同?
·如何令QQ上线的铃声取消?
·如何去掉不需要的QQ自定义表情
·怎样撤消QQ群
·怎样知道我是不是在对方的QQ好友里
·路由器的正确连接方法可以让几台电脑共同上网?
·中文版的FireFox怎么变成英文版?
·什么是“网关”和“子网掩码”?
·2007年如何免费领养QQ宠物?
·在QQ上,怎么才可以和我的朋友同步听歌?
·VPN拨号后不能上网的问题
·看在线视频(如优酷)的时候总出现双画面
·如何保密自己的上网历史?
·关于工作组共享打印机的方案