美文网首页
正向代理&反向代理

正向代理&反向代理

作者: CarsonChen | 来源:发表于2019-01-28 17:20 被阅读5次

一.代理

代理,也称为网络代理,是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接。一些网关、路由器等网络设备具备网络代理功能。一般认为代理服务有利于保障网络终端的隐私或安全,防止攻击。提供代理服务的电脑系统或其它类型的网络终端称为代理服务器(英文:Proxy Server)
我们打个比方,比如说你要台电视机,这个时候你要么去商场买,要么去狗站或者是猫站上买,当然你也可以直接从电视机生产厂商那边直接购买。在你购买电视机的这个过程中,你,就是所谓的客户端,购买电视机就是向服务端发送请求,而电视机生产厂商就是我们所要请求的目的服务器,在这个过程中商场,狗站,猫站则起到一个代理作用,这个时候我们称之为代理服务器。

具体而言,代理服务器一般可以分为正向代理和反向代理。

正向代理和反向的代理参考图(图片来自于网络)。


代理

二.正向代理

正向代理就是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。一般来说正向代理是客户端使用的。在请求过程中,正向代理隐藏了真实请求的客户端。也就是说你通过正向代理向我发送请求,我不知道是你发送的。

同样,我们也来打一个比方,你让你儿子去超市给你买包辣条,然后你儿子跑到超市给你买了包辣条回来了,在买辣条的这个过程中,你儿子就起到一个正向代理的过程,而超市就是你要请求的服务器,你就是客户端,而买辣条这个行为则是你的请求行为。当然假如说超市的售货人员不认识你儿子,更不认识你。所以在整个购买辣条的过程中,超市不知道实际买辣条的人是你,但是超市以为是你儿子买的辣条。这个过程我想就应该比叫容易理解了。

三.反向代理

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

我们举个例子,比如说你买了新房子,房子需要装修,这个时候你需要地暖,灯饰,沙发等等,你只需要将这些事情交给装修公司,等待最后给你装修出来的结果就行了(这个例子可能有点不是很恰当)。在这个过程中,装修公司所起到的作用就是类似于反向代理,你就是所所谓的请求客户端,而那些家具的供应商,则是这个过程中额真实服务器。

在整个过程中,其实是装修公司和供应商进行暗中勾结,你根本不知道你访问的是哪个服务器,这样就能够保证服务器的安全性

四.各自的优缺点以及用途

正向代理是从访问者出发,在访问的过程中隐藏了访问者的真实IP,因此你可通过正向代理来进行隐藏你自己的真实IP。但是这也同样会有一个问题,就是对我们的网警叔叔们造成了很大的困难。

反向代理同正向代理相反,可以隐藏我们真实服务器的一些信息,并且可以在服务端进行一些配置,仅仅允许代理服务器进行代理访问,这样就能够起到一定的防护作用。假如说有黑客黑进了你的服务器(其实是代理服务器)他们也找不到可以修改的东西。

因为在反向代理是存在于服务端的,我们的第每一次请求都是先到达反向代理服务器,再通过反向代理服务器进行资源的分发, 因此,可以在反向代理服务器端进行负载均衡,以及资源的分发。这个其实可以参考CDN的基本实现,CDN的本质上是使用了反向代理的技术的。另外,在使用反向代理技术的过程中,可以对服务器端的某些不经常变得资源进行适当的缓存,一减少对服务器端的请求,并且极大的减少了服务器端的IO,从而加快了访问速度。
对于反向代理还有另外的一个用途就是作为防火墙。反向代理可以配置防火墙路由器,使其只允许特定端口特定的服务器进行访问,而不允许其他的机子进行输入或者是输出,从而实现防火墙的作用。
说白了,反向代理的主要用途就两个,一个是提高访问速度,另外一个就是作为防火墙。
反向代理也不是说完全没有缺点,反向代理的缺点主要表现在以下两个方面:

  1. 反向代理是处于OSI参考模型第七层应用的,所以就必须为每一种应用服务专门开发一个反向代理服务器,这样就限制了反向代理负载均衡技术的应用范围,现在一般都用于对web服务器的负载均衡。
  2. 针对每一次代理,代理服务器就必须打开两个连接,一个对外,一个对内,因此在并发连接请求数量非常大的时候,代理服务器的负载也就非常大了,在最后代理服务器本身会成为服务的瓶颈。

一般来讲,可以用它来对连接数量不是特别大,但每次连接都需要消耗大量处理资源的站点进行负载均衡。

相关文章

  • 【Nginx】实现负载均衡的几种方式

    要理解负载均衡,必须先搞清楚正向代理和反向代理。 正向代理与反向代理【总结】 注: 正向代理,代理的是用户。反向代...

  • Nginx常用功能以及相关配置

    Nginx 常用的功能: 1、Http正向代理、反向代理 正向代理和反向代理的区别:1、正向代理:类似我们想要访问...

  • Nginx 反向代理与负载均衡

    Nginx特点:反向代理 正向代理说反向代理之前,我们先看看正向代理,正向代理也是大家最常接触的到的代理模式,我们...

  • Nginx 反向代理与负载均衡

    Nginx特点:反向代理 正向代理说反向代理之前,我们先看看正向代理,正向代理也是大家最常接触的到的代理模式,我们...

  • nginx系列3——nginx反向代理、动静分离、负载均衡

    nginx反向代理、动静分离、负载均衡 反向代理 要说反向代理,我们就先要理解正向代理 ,下面我们就谈谈正向代理和...

  • Servlet实现反向代理实践总结

    一、反向代理 反向代理顾名思义,是和正向代理相反,所以我们可以借助于正向代理来理解反向代理。 正向代理:多个客户端...

  • 正向代理&反向代理

    一.代理 代理,也称为网络代理,是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端...

  • 企业级实战,Nginx反向代理与负载均衡实战配置以及原理详解

    知识要点: 正向代理反向代理基本概念 正向代理的基本指令操作 反向代理的基本操作指令 反向代理实战 ---负载均衡...

  • nginx代理

    nginx代理分为正向代理或反向代理。正向代理与反向代理的区别就是代理的对象不一样,正向代理代理的对象是客户端,反...

  • Nginx 的反向代理和负载均衡初涉

    正向代理和反向代理 我们经常看到正向代理和反向代理这两个名词,那么什么是正向代理,什么是反向代理呢?这里我举两个通...

网友评论

      本文标题:正向代理&反向代理

      本文链接:https://www.haomeiwen.com/subject/debajqtx.html