正向代理与反向代理

上传人:第*** 文档编号:34592850 上传时间:2018-02-26 格式:DOCX 页数:5 大小:22.20KB
返回 下载 相关 举报
正向代理与反向代理_第1页
第1页 / 共5页
正向代理与反向代理_第2页
第2页 / 共5页
正向代理与反向代理_第3页
第3页 / 共5页
正向代理与反向代理_第4页
第4页 / 共5页
正向代理与反向代理_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《正向代理与反向代理》由会员分享,可在线阅读,更多相关《正向代理与反向代理(5页珍藏版)》请在金锄头文库上搜索。

1、 正向代理与反向代理 一、正向代理的概念1. 正向代理:是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器) ,然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。正向代理的典型用途是为在防火墙内的局域网客户端提供访问 Internet 的途径。正向代理还可以使用缓冲特性(由 mod_cache 提供) 减少网络使用率。使用 ProxyRequests 指令即可激活正向代理。因为正向代理允许客户端通过它访问任意网站并且隐藏客户端自身,因此你必须采取安

2、全措施以确保仅为经过授权的客户端提供服务。2. 举例来说,正向代理,也就是传说中的代理, 他的工作原理就像一个跳板,简单的说,我是一个国内用户,我直接访问不了某外国网站, 但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的外国网站。STEP1. 于是我先连上代理服务器, 告诉他我需要那个无法访问的外国网站的内容。STEP2. 代理服务器去取回来, 然后返回给我从那个外国网站的角度来说,只在代理服务器来取内容的时候有一次记录。有时候并不知道是用户的请求,也隐藏了用户的资料, 这取决于代理告不告诉网站。结论就是:正向代理, 是一个位于客户端和原始服务器(origin serve

3、r)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器) ,然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。二、反向代理反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器对外就表现为一个服务器。代理服务器是使用非常普遍的一种将局域网主机联入互联网的一种方式,使用代理上网可以节约紧缺的 IP 地址资源,而且可以阻断外部主机对内部主机的访问,

4、使内部网主机免受外部网主机的攻击。但是,如果想让互联网上的主机访问内部网的主机资源(例如:Web 站点) ,又想使内部网主机免受外部网主机攻击,一般的代理服务是不能实现的,需要使用反向代理来实现。1. 反向代理 - 定义什么是反向代理呢?其实,反向代理也就是通常所说的 WEB 服务器加速,它是一种通过在繁忙的 WEB 服务器和 Internet 之间增加一个高速的 WEB 缓冲服务器(即:WEB 反向代理服务器)来降低实际的 WEB 服务器的负载。Web 服务器加速(反向代理)是针对 Web 服务器提供加速功能的。它作为代理 Cache,但并不针对浏览器用户,而针对一台或多台特定 Web 服务

5、器(这也是反向代理名称的由来) 。实施反向代理(如上图所示) ,只要将 Reverse Proxy Cache 设备放置在一台或多台 Web 服务器前端即可。当互联网用户访问某个 WEB 服务器时,通过 DNS 服务器解析后的 IP 地址是 Reverse Proxy Server 的 IP 地址,而非原始 Web 服务器的 IP 地址 ,这时 Reverse Proxy Server 设备充当 Web 服务器,浏览器可以与它连接,无需再直接与 Web 服务器相连。因此,大量 Web 服务工作量被卸载到反向代理服务上。不但能够防止外部网主机直接和 web 服务器直接通信带来的安全隐患,而且能够

6、很大程度上减轻 web 服务器的负担,提高访问速度。2. 反向代理 - 原理反向代理服务器位于本地 WEB 服务器和 Internet 之间。当用户浏览器发出一个 HTTP 请求时,通过域名解析将请求定向到反向代理服务器(如果要实现多个 WEB 服务器的反向代理,需要将多个 WEB 服务器的域名都指向反向代理服务器) 。由反向代理服务器处理器请求。反向代理一般只缓存可缓冲的数据(比如 html 网页和图片等) ,而一些 CGI 脚本程序或者ASP 之类的程序不缓存。它根据从 WEB 服务器返回的 HTTP 头标记来缓冲静态页面。有四个最重要 HTTP 头标记: Last-Modified: 告

7、诉反向代理页面什么时间被修改 expires: 告诉反向代理页面什么时间应该从缓冲区中删除 Cache-Control: 告诉反向代理页面是否应该被缓冲 Pragma: 告诉反向代理页面是否应该被缓冲. 例如:在默认情况下,ASP 页面返回” Cache-control: private.” ,所以 ASP 页面时不会在反向代理服务器缓存的3. 举例说明例用户访问 http:/ooxx.me/readme,但 ooxx.me 上并不存在 readme 页面。他是偷偷从另外一台服务器上取回来,然后作为自己的内容吐给用户,但用户并不知情。这很正常,用户一般都很笨这里所提到的 ooxx.me 这个域

8、名对应的服务器就设置了反向代理功能。结论就是 反向代理,和正向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理 的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器) 转交请求,并将获得的内容返回给客户端,就像这些内容 原本就是它自己的一样。4. 反向代理 - 比较下面将对几种典型的代理服务作一个简单的比较。在网络上常见的代理服务器有三种: 1) 标准的代理缓冲服务器 一个标准的代理缓冲服务被用于缓存静态的网页(例如:html 文件和图片文件等)到本地网络上的一台主机上(即代理服务器) 。当被缓存的页面

9、被第二次访问的时候,浏览器将直接从本地代理服务器那里获取请求数据而不再向原 web 站点请求数据。这样就节省了宝贵的网络带宽,而且提高了访问速度。但是,要想实现这种方式,必须在每一个内部主机的浏览器上明确指明代理服务器的 IP 地址和端口号。客户端上网时,每次都把请求送给代理服务器处理,代理服务器根据请求确定是否连接到远程 web 服务器获取数据。如果在本地缓冲区有目标文件,则直接将文件传给用户即可。如果没有的话则先取回文件,先在本地保存一份缓冲,然后将文件发给客户端浏览器。 2) 透明代理缓冲服务器 透明代理缓冲服务和标准代理服务器的功能完全相同。但是,代理操作对客户端的浏览器是透明的(即不

10、需指明代理服务器的 IP 和端口) 。透明代理服务器阻断网络通信,并且过滤出访问外部的 HTTP(80 端口)流量。如果客户端的请求在本地有缓冲则将缓冲的数据直接发给用户,如果在本地没有缓冲则向远程 web 服务器发出请求,其余操作和标准的代理服务器完全相同。对于 Linux 操作系统来说,透明代理使用 Iptables 或者 Ipchains 实现。因为不需要对浏览器作任何设置,所以,透明代理对于 ISP(Internet 服务器提供商)特别有用。 3) 反向代理缓冲服务器 反向代理是和前两种代理完全不同的一种代理服务。使用它可以降低原始 WEB 服务器的负载。反向代理服务器承担了对原始 W

11、EB 服务器的静态页面的请求,防止原始服务器过载。它位于本地 WEB 服务器和 Internet 之间,处理所有对 WEB 服务器的请求,组织了 WEB 服务器和 Internet 的直接通信。如果互联网用户请求的页面在代理服务器上有缓冲的话,代理服务器直接将缓冲内容发送给用户。如果没有缓冲则先向 WEB 服务器发出请求,取回数据,本地缓存后再发送给用户。这种方式通过降低了向 WEB 服务器的请求数从而降低了 WEB 服务器的负载。 5. 反向代理 - 反向代理服务器软件介绍1). Fikker 反向代理服务器 Fikker 是一款利于反向代理原理实现的专业级的网站加速服务器软件,全界面化管理

12、配置,利用页面缓存技术(webcache) ,网站管理员或网站开发人员通过 Fikker 管理平台将指定的页面缓存起来,用户在访问已缓存页面的时候,就不需要网站读取数据库后再生成页面了,Fikker 直接返回用户需要的页面,成倍的提成网站响应速度;另外 Fikker 通过 gzip 将页面(html,asp,php,css,js)压缩起来,减少了传输尺寸,提高传输效率和减少带宽占用。 作为网站的前置服务器,Fikker 还提供了强大的实时监控功能,防盗链,源站负载均衡,伪静态(url 静态化) ,Ajax 跨域操作,防 CC 攻击,黑名单管理,访问统计等一站式解决方案,网站管理简单到极致,但功

13、能非常强大。Fikker 软件从原始架构开始设计,跨平台(支持 Windows 和 Linux)和面向服务器类软件方向设计,经过多年的精雕细琢,稳定性,功能性和易用性大大提升,实现了很多创新,例如:公共缓存,会员缓存和游客缓存设计。2). Nginx : Nginx (engine x) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,Nginx 已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。Nginx 的优点Ngi

14、nx 做为 HTTP 服务器,有以下几项基本特性: A. 处理静态文件,索引文件以及自动索引;打开文件描述符缓冲 B. 无缓存的反向代理加速,简单的负载均衡和容错C. FastCGI,简单的负载均衡和容错D. 模块化的结构。3). Squid 对于 Web 用户来说,Squid 是一个高性能的代理缓存服务器,可以加快内部网浏览 Internet的速度,提高客户机的访问命中率。Squid 不仅支持 HTTP 协议,还支持 FTP、gopher、SSL 和 WAIS 等协议。和一般的代理缓存软件不同,Squid 用一个单独的、非模块化的、I/O 驱动的进程来处理所有的客户端请求。Squid 将数据

15、元缓存在内存中,同时也缓存 DNS 查寻的结果,除此之外,它还支持非模块化的 DNS 查询,对失败的请求进行消极缓存。Squid 支持 SSL,支持访问控制。由于使用了 ICP,Squid 能够实现重叠的代理阵列,从而最大限度的节约带宽。Squid 由一个主要的服务程序 Squid,一个 DNS 查询程序 dnsserver,几个重写请求和执行认证的程序,以及几个管理工具组成。当 Squid 启动以后,它可以派生出指定数目的 dnsserver 进程,而每一个 dnsserver 进程都可以执行单独的 DNS 查询,这样一来就大大减少了服务器等待 DNS 查询的时间。Squid 的另一个优越性

16、在于它使用访问控制清单(ACL) 和访问权限清单(ARL) 。访问控制清单和访问权限清单通过阻止特定的网络连接来减少潜在的 Internet 非法连接,可以使用这些清单来确保内部网的主机无法访问有威胁的或不适宜的站点。三、两者区别从用途上来讲:A. 正向代理的典型用途:是为在防火墙内的局域网客户端提供访问 Internet 的途径。正向代理还可以使用缓冲特性减少网络使用率。B. 反向代理的典型用途:是将防火墙后面的服务器提供给 Internet 用户访问。反向代理还可以为后端的多台服务器提供负载平衡,或为后端较慢的服务器提供缓冲服务。另外,反向代理还可以启用高级 URL 策略和管理技术,从而使处于不同 web 服务器系统的 web 页面同时存在于同一个 URL 空间下。从安全性 来讲:A. 正向代理允许客户端通过它访问任意网站并且隐藏客户端自身,因此你必须采取安全措施以确保仅为经过授权的客户端提供服务。B. 反向代理对外都是透明的,访问者并不知

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号