反向代理和正向代理区别

来源:互联网 发布:c语言多个随机数 编辑:程序博客网 时间:2024/06/05 08:16

先说代理,听这名字就知道是帮人做事的。就说我们平时的商品代理,说白了就是帮生产商卖东西的。那么网络上的代理是什么,简单的理解就是帮人家获取信息的。代理位之客户端与服务器(群)之间。帮客户端访问服务器(群)然后再把信息返回客户端。其实他就是一个中转站,把客户端的请求转到给服务器(群)并从服务器(群)获取这个请求的内容,转发给客户端。

其实反向代理和正向代理的工作原理是相同的,只不过作用不同和位置不同而已。不管是反向还是正向,他们都有代理服务器,只是他们服务的对象不同,反向代理是为服务器(群)服务的,正向代理是为客户端服务的。简单的理解,可以把反向代理服务器归到服务器(群)里,而把正向代理服务器归到客户端。下面先讲一下两个代理的工作过程,然后讲讲,他们的区别。

反向代理的工作过程:

服务提供商指定一个代理服务器,代理服务器与内容服务器(实际提供服务的服务器)组成一个内网。用户(客户端)访问代理服务器,然后代理服务器把用户的请求通过内网发送给内容服务器,内容服务器把结果返回给代理服务器,然后代理服务器再把这个结果返回给用户。

正向代理的工作过程:

用户指定某个服务器为代理服务器,代理服务器与用户(客户端电脑)组成内网。用户需要访问某个网站时,先把请求发给代理服务器,代理服务器转发用户的请求到实际的服务器(也就是代理服务器去请求用户想要访问的网站)。然后把内容返回给用户。

反向代理方式和包过滤方式或普通代理方式并无冲突,因此可以在防火墙设备中同时使用这两种方式,其中反向代理用于外部网络访问内部网络时使用,正向代理或包过滤方式用于拒绝其他外部访问方式并提供内部网络对外部网络的访问能力。因此可以结合这些方式提供最佳的安全访问方式。

       反向代理用于外部网络访问内部网络时使用,正向代理用于提供内部网络对外部网络的访问能力,并可以使用包过滤拒绝其他方式访问外部网络。

为何叫反向:

        从原理上来说.代理服务器都是处理来自客户端的请求,并将其转发到目的服务器上,所以代理服务器的工作并没有任何反向的意味,而下面这张图就能说明为何反向代理叫反向


       从结构上来看,正向代理和反向代理的左右两边换了一下,原本代理服务器的客户端来自内网.其和代理服务器组成一个LAN,而反向代理之后.代理服务器和服务器组成了一组.所以从结构来看,是reverse的,从英文的角度来看,reverse这个词包含翻转的意思,其意思就是指结构图上的这种反转,但是由于翻译的关系.到了中文变成反向代理.其实proxy并没有做和以前有什么不同的事情。它仍旧是将来自客户端的请求转发给实际端,而时至今日,由于CDN的大量使用,反向代理后面的服务器为了适应这种跨网络的架构,而均采用实际IP地址.这样就往往更不容易使得大家对”反向代理这个名词中的反向到底指什么”这个问题有个清晰的答案了。

正向代理的概念

正向代理就是通常所说的代理,是某台电脑通过一台服务器来上Internet网的这种方式,其中这台电脑就叫客户机,这台服务器就叫正向代理服务器也就是通常所说的代理服务器。在这种方式中,你是主动的,网站是被动的,网站那里不能得到你的真实ip地址。(通俗讲法)

正向代理服务器。它只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器(一般在IE-Internet选项-连接-局域网设置),并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。


正向代理,也就是传说中的代理,他的工作原理就像一个跳板,
简单的说,
我是一个用户,我访问不了某网站,但是我能访问一个代理服务器
这个代理服务器呢,他能访问那个我不能访问的网站
于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容
代理服务器去取回来,然后返回给我

从网站的角度,只在代理服务器来取内容的时候有一次记录
有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站

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

反向代理的概念

反向代理就是网站通过一台服务器发布到公网,供用户访问。用户直接访问那台反向代理服务器,然后通过那台服务器访问到网站。用户无法得到网站的真实 IP地址。这样就保护了网站服务器,如果您有台服务器在国内又不想让人找到IP,就可以在国外搭建一台反向代理服务器。一个反向代理服务器将很多网站解析 到同一 ip地址上。(通俗讲法)

技术讲法,普通的Web代理服务器是不支持外部对内部网络的访问请求的。当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务 的方式称为反向代理服务。此时的代理服务器称为反向代理服务器,对外表现为一个Web服务器,外部网络就可以简单把它当作一个标准的Web服务器而不需要 特定的配置。不同之处在于,这个服务器没有保存任何网页的真实数据,所有的静态网页或者CGI程序,都保存在内部的Web服务器上。因此对反向代理服务器 的攻击并不会使得网页信息遭到破坏,这样就增强了Web服务器的安全性。

继续举例:
例用户访问 http://ooxx.me/readme
但ooxx.me上并不存在readme页面
他是偷偷从另外一台服务器上取回来,然后作为自己的内容吐给用户

但用户并不知情
这很正常,用户一般都很笨

这里所提到的 ooxx.me 这个域名对应的服务器就设置了反向代理功能

结论就是 反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理 的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容 原本就是它自己的一样。

反向代理的作用:

1、网络安全,因为内容服务器躲在代理服务器后面,内容服务器和代理服务器之间可以设置很严格的访问控制(比如防火墙)。这样可以保证内容服务器,不暴露在外网,就算代理服务器被黑了,内容服务器也是安全的。

2、负载均衡,通过代理服务器,可以转发给多个内容服务器,也可以根据请求内容转发给不同的内容服务器。从而实现服务器的分流。而且追加内容服务器时,也变的非常方便。

3、缓存,提高性能。代理服务器可以把内容服务器返回的结果进行缓存,当用户再次访问这些内容的时候就可以直接从缓存中获取,从而提高性能。

正向代理的作用:

1、局域网里的电脑提供链接Internet的功能,其实就像路由器。局域网里的电脑,全部通过代理来访问外网,也非常方便进行安全控制。

2、匿名上网,在中国,你懂的。想要访问国外的网站,ssh+代理服务器。 番茄去吧。

1. 从用途上来区分:

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

2. 从安全性来讲:

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


0 0
原创粉丝点击