正向代理与反向代理

前言

  使用Nginx做反向代理,部署负载均衡。为啥用Nginx做反向代理?反向代理是什么意思?那么又什么是正向代理呢?一连串的问题把我给整懵了。不该如何回答。现在有时间,就慢慢的解决一下这些问题吧。

正向代理及反向代理

  正向代理

    我们还是先搞清楚啥是正向代理。我们先说个简单而熟悉的事情吧,大家肯定都知道代购。代购是一个什么角色呢?处于消费者和生产者之间。更像一个纽带,一个中间商。在这里他叫”代购”,程序中可以叫他”代理”。每一个代购只针对某部分特殊的产品。然而通过代购去购买的人有是各式各样不同的人。其中原理就是我要买某某国外的化妆品,买不到,找到对应的代购,他去买了然后再给我。我们可以理解这在程序中是正向代理。

                 正向代理(代购解说)

 

 

    在程序当中,当我们需要访问某些网站但无法访问的时候,就比如访问国外的一些论坛,无法访问。这是我们可以再香港或者没过搭建一个服务器,然后通过搭建的服务器再去访问想要访问的网站,这就是所谓的正向代理了。(客户端-正向代理服务器-原始服务器。配合代购的例子,还是比较好理解的了。买不到某物,访问不到某网站,通过中间的代购或者服务器来达到我买到某物或者客户端访问某网站的目的,就可以说是代理了。

               正向代理

 

    比如我现在目前使用的Shadowsocks软件,就是通过配置美国那边的服务器配置来达到访问Google资源的目的,它这个工具就充当了一个正向代理的作用。

  反向代理

    说完正向代理再看反向代理,反向代理恰好和正向代理有点相反了。通过正向代理访问某些网站时,那些网站是不知道实际访问的客户端的,这里隐藏了真实的客户端。而反向代理,却是隐藏了真实的服务器,客户端通过反向代理去访问,并不知道访问的是哪一个服务器。

                 反向代理

 

    这里当客户端访问服务器的时候先经过反向代理服务器,然后反向代理服务器转发请求给服务器,至于是服务器一还是服务器二还是服务器三的话,这个客户端就不知道了。客户端只要请求过来得到需要的东西就ok。这一过程也就是反向代理了。

使用场景

  上面我们详细介绍了反向代理及正向代理。那到底有什么用呢?有些地方为什么用反向代理呢?

  首先我们看正向代理,具体可以干啥:

    • 访问原来无法访问的资源,通过Shadowsocks访问google资源
    • 使用使用缓冲特性,可以做缓存,加速访问资源
    • 对客户端访问授权,上网进行认证

  那么反向代理呢?

    • 保护内网的安全,隐藏内网服务器地址,防止Web的攻击
    • 部署负载均衡,通过反向代理部署负载均衡优化网站

Nginx反向代理

  这里我们提一下Nginx,比较常见的就是使用Nginx做反向代理或者部署负载均衡。其中Nginx仅仅只是实现反向代理的工具而已,具体Nginx的安装及使用在之前的文章(Nginx安装与代理)有提过。Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件代理服务器。其特点是占有内存少,并发能力强。

总结

  不过说实话反向代理正向代理都是其名词概念,实际上需要知道的是其内容,以及到底怎么用用来干啥的。不要每天喊着使用Nginx进行反向代理部署网站,到最后不知道啥是反向代理,啥是正向代理。这就有点小尴尬了。只有了解的更多一点才会用的更灵活一点。

 

      振作低沉的士气,鼓舞消沉的信心,迸发澎湃的激情,舞动勤奋的双手,用努力去创造奇迹,用行动去开拓未来,精彩就一定会呈现!


 

  欢迎大家扫描下方二维码,和我一起学习更多的C#知识 

  

posted @ 2019-07-30 10:36  小世界的野孩子  阅读(1813)  评论(3编辑  收藏  举报
回到顶部