正向代理和反向代理的区别

转载 2016年08月28日 23:50:23

1. 概念

正向代理是一个位于客户端和目标服务器之间的代理服务器(中间服务器)。为了从原始服务器取得内容,客户端向代理服务器发送一个请求,并且指定目标服务器,之后代理向目标服务器转交并且将获得的内容返回给客户端。正向代理的情况下客户端必须要进行一些特别的设置才能使用。

反向代理正好相反。对于客户端来说,反向代理就好像目标服务器。并且客户端不需要进行任何设置。客户端向反向代理发送请求,接着反向代理判断请求走向何处,并将请求转交给客户端,使得这些内容就好似他自己一样,一次客户端并不会感知到反向代理后面的服务,也因此不需要客户端做任何设置,只需要把反向代理服务器当成真正的服务器就好了。

2. 区别

正向代理需要你主动设置代理服务器ip或者域名进行访问,由设置的服务器ip或者域名去获取访问内容并返回;而反向代理不需要你做任何设置,直接访问服务器真实ip或者域名,但是服务器内部会自动根据访问内容进行跳转及内容返回,你不知道它最终访问的是哪些机器。

正向代理是代理客户端,为客户端收发请求,使真实客户端对服务器不可见;而反向代理是代理服务器端,为服务器收发请求,使真实服务器对客户端不可见。

从上面的描述也能看得出来正向代理和反向代理最关键的两点区别:

  1. 是否指定目标服务器
  2. 客户端是否要做设置

下面用一张图来表示两者的差异:
这里写图片描述

正向代理中,proxy和client同属一个LAN,对server透明; 反向代理中,proxy和server同属一个LAN,对client透明。 实际上proxy在两种代理中做的事都是代为收发请求和响应,不过从结构上来看正好左右互换了下,所以把前者那种代理方式叫做正向代理,后者叫做反向代理。

从用途上来区分:

  • 正向代理:正向代理用途是为了在防火墙内的局域网提供访问internet的途径。另外还可以使用缓冲特性减少网络使用率
  • 反向代理:反向代理的用途是将防火墙后面的服务器提供给internet用户访问。同时还可以完成诸如负载均衡等功能

从安全性来讲:

  • 正向代理:正向代理允许客户端通过它访问任意网站并且隐蔽客户端自身,因此你必须采取安全措施来确保仅为经过授权的客户端提供服务
  • 反向代理:对外是透明的,访问者并不知道自己访问的是代理。对访问者而言,他以为访问的就是原始服务器

3. 使用场景

正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。正向代理还可以使用缓冲特性减少网络使用率。反向代理的典型用途是将 防火墙后面的服务器提供给Internet用户访问。反向代理还可以为后端的多台服务器提供负载平衡,或为后端较慢的服务器提供缓冲服务。

3.1 正向代理

从上面的介绍也就可以猜出来正向代理的至少一个功能(俗称翻墙),也即:

用户A无法访问facebook,但是能访问服务器B,而服务器B可以访问facebook。于是用户A访问服务器B,通过服务器B去访问facebook,,服务器B收到请求后,去访问facebook,facebook把响应信息返回给服务器B,服务器B再把响应信息返回给A。这样,通过代理服务器B,就实现了翻墙。

3.2 反向代理

从上面的介绍也可以猜出来反向代理的至少一个功能(比如负载均衡),也即:

假设用户A访问 http://www.somesite.com/something.html,但www.somesite.com上并不存在something.html页面,于是接收用户请求的该服务器就偷偷从另外一台服务器上取回来,然后返回给用户,而用户并不知道something.html页面究竟位于哪台机器上。

反向代理的作用就比较多了,这里简单列举一下:

  • 保护和隐藏原始资源服务器
  • 加密和SSL加速
  • 负载均衡
  • 缓存静态内容
  • 压缩
  • 减速上传
  • 安全
  • 外网发布

下面做两个简单介绍

  • 保护和隐藏原始资源服务器
    这里写图片描述

用户A始终认为它访问的是原始服务器B而不是代理服务器Z,但实用际上反向代理服务器接受用户A的应答,从原始资源服务器B中取得用户A的需求资源,然后发送给用户A。由于防火墙的作用,只允许代理服务器Z访问原始资源服务器B。尽管在这个虚拟的环境下,防火墙和反向代理的共同作用保护了原始资源服务器B,但用户A并不知情。

  • 负载均衡
    这里写图片描述

当反向代理服务器不止一个的时候,我们甚至可以把它们做成集群,当更多的用户访问资源服务器B的时候,让不同的代理服务器Z(x)去应答不同的用户,然后发送不同用户需要的资源。

3.3 透明代理

透明代理比较类似正向代理的功能,差别在于客户端根本不知道代理的存在,它改编你的request,并会传送真实IP(使用场景就是公司限制网络的访问)。

比如为了工作效率或者安全,A公司屏蔽了QQ软件的使用。A公司的员工接上了网络,但发现无法使用qq。这就是透明代理捣的鬼。公司在内网和外网的中间插入一个透明代理,这个代理会根据规则抓取请求内容,遇到qq的请求我就把这个请求给屏蔽掉,这样就完成了透明屏蔽。当然了,如果你明白原理,就可以自己搞个正向代理来绕过公司的屏蔽。

4. Reference

反向代理-中文维基百科
反向代理是什么意思?
正向代理、反向代理、透明代理
图解正向代理、反向代理、透明代理
如何使用nginx搭建正向代理和反向代理


http://cpper.info/2016/05/25/ForwordProxy-And-ReverseProxy.html?utm_source=tuicool&utm_medium=referral

正向代理与反向代理有什么区别

原文链接:http://mp.weixin.qq.com/s/ikrI3rmSYs83wdSWqq2QIg 之所以转载这篇文章,是因为例子举的太好了,非常适合初学者理解。 Nginx作为时...
  • sunqing0316
  • sunqing0316
  • 2017年01月12日 11:23
  • 777

什么是反向代理,如何区别反向与正向代理

一直对反射代理的反向不知道如何理解,经过百度知道,再结合下面这幅图,总算弄清楚一点了。简单的说从一个局域网出来到服务端为正向,从客户端要进入一个局域网为反向 概念:        反向代理(Rev...
  • andyzhaojianhui
  • andyzhaojianhui
  • 2015年09月06日 19:02
  • 1994

nginx 反向代理和正向代理区别

一直对反射代理的反向不知道如何理解,经过百度知道,再结合下面这幅图,总算弄清楚一点了。简单的说从一个局域网出来到服务端为正向,从客户端要进入一个局域网为反向 概念:        反向代理(Rev...
  • lovesummerforever
  • lovesummerforever
  • 2015年01月24日 21:34
  • 6732

什么是反向代理,什么是正向代理,两者有什么的区别

nginx是个非常流行,性能优越的http服务器,相信很多后端开发程序猿都使用过它的反向代理,但是很多使用过它的同学并不清楚什么是反向代理,什么是正向代理,它们之间又有什么区别呢?下面 我用尽量直白的...
  • yang_guanghua
  • yang_guanghua
  • 2017年02月24日 17:14
  • 543

正向代理与反向代理通俗理解

关于正向代理以及反向代理的理解。特别通俗,一看就懂。
  • zhanghanboke
  • zhanghanboke
  • 2017年08月22日 22:45
  • 322

apache、nginx正向代理与反向代理的区别

可以用两张图来表示正向代理与反向代理: 客户端 →   正向代理(代理服务器)→    原始服务器 客户端 →   原始服务器 →   反向代理(代理服务器) (以上纯属个人理解) 正向代理的概念...
  • u013076997
  • u013076997
  • 2016年08月18日 10:48
  • 1603

浅谈什么是正向代理和反向代理,如何使用nginx搭建正向代理和反向代理

转自:http://mengkang.net/78.html
  • yuxiangji
  • yuxiangji
  • 2014年04月21日 14:13
  • 19589

我对正向代理和反向代理的理解

之前一直听过代理服务器,就模模糊糊的认为就是代替服务器的,但具体是怎么工作的,什么工作原理,却一直没搞清楚,今天也梳理下正向代理和反向代理的含义,以及两者之间的区别。下面贴出正向代理和反向代理的图示:...
  • junli_chen
  • junli_chen
  • 2016年03月17日 17:18
  • 601

正向代理,反向代理和透明代理的原理和区别!

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://z00w00.blog.51cto.com/515114/1031287 套用...
  • u012572955
  • u012572955
  • 2015年10月23日 09:40
  • 7420

正向代理,反向代理和透明代理

正向代理     一般就是指在浏览器上设置代理服务器地址 反向代理      反向代理服务器放置在服务器端,作为真实服务器的代理者,保护了真实服务器。      反向代理服务器的工作流程 ...
  • jackywgw
  • jackywgw
  • 2016年04月01日 17:03
  • 903
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:正向代理和反向代理的区别
举报原因:
原因补充:

(最多只允许输入30个字)