专栏首页丑胖侠架构01-什么是反向代理,什么又是正向代理?

架构01-什么是反向代理,什么又是正向代理?

说起Nginx,我们都知道它可以用来做反向代理。那么,到底什么是反向代理,对应的正向代理又是什么呢?这篇文章就带大家来了解一下。其中反向代理也是系统架构的重要组成部分。

说起代理其本质上可以理解为中介。当A和B不方便进行交互时,往往会引入一个中间角色C,那么C便是中介,便是代理。

正向代理

正向代理服务器通常位于客户端和服务器之间,类似一个跳板机,通过代理服务器可以访问到目标服务器。

正向代理时,通常,客户端发送对目标服务器的请求,代理服务器在中间将请求转发给目标服务器,并将结果返回给客户端。

正向代理时客户端必须要进行一些特别的设置才能使用。

比如当我们想访问某服务器,但无法直接访问,这就需要先通过一个正向代理服务器,请求到代理服务器,再由代理服务器进行访问,并把访问结果进行返回。在客户看来,相当于直接请求的目标服务器。

正向代理通常用于如下场景:

  • 访问原来无法访问的资源;
  • 使用缓冲特性减少网络使用率,加速访问资源;
  • 对客户端访问授权,上网进行认证;
  • 代理可以记录用户访问记录(上网行为管理);
  • 隐藏客户端身份(目标者不知道幕后操纵者是谁);

反向代理

反向代理(Reverse Proxy)与正向代理恰好相反,代理服务位于服务器端。

对客户端来说,反向代理服务器就好像是目标服务器。反向代理服务器接收客户端发来的请求,然后将其分发到内网的服务器,并将内网服务器返回的结果返回给客户端。

整个过程客户端并不会感知到反向代理后面的服务,也不需要客户端做任何设置,只需要把反向代理服务器当成真正的服务器就行。

反向代理的用途:

  • 保护和隐藏原始资源服务器,防止攻击,通常将反向代理作为公网访问地址,Web服务器是内网;
  • 负载均衡,通过反向代理来进行服务器资源的优化处理;
  • 加密和SSL加速;
  • 缓存静态内容;
  • 压缩、减速上传、安全、外网发布等。

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

用途上区分:

  • 正向代理:正向代理用途是为了在防火墙内的局域网提供访问internet的途径。
  • 反向代理:反向代理的用途是将防火墙后面的服务器提供给internet用户访问。

安全性区分:

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

透明代理

透明代理比较类似正向代理的功能,客户端根本不需要知道有代理服务器的存在,它改变你的request fields(报文),并会传送真实IP,多用于路由器的NAT转发中。

比如为了工作效率或者安全,A公司屏蔽了QQ软件的使用。公司在内网和外网的中间插入一个透明代理,根据规则抓取请求内容,遇到qq的请求就把它给屏蔽掉,这样就完成了透明屏蔽。

小结

正向代理和反向代理的区别在于代理的对象不一样,正向代理的代理对象是客户端,反向代理的代理对象是服务端。

代理服务器站在客户端那边就是正向代理,代理服务器站在原始服务器那边就是反向代理。

参考文章: https://blog.csdn.net/u010454030/article/details/78860412 https://juejin.cn/post/6844904064266960903 https://www.cnblogs.com/anker/p/6056540.html https://blog.csdn.net/qq_28988969/article/details/82982474 https://www.cnblogs.com/taostaryu/p/10547132.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 什么是反向代理?正向代理和反向代理的区别是什么?

    首先,从字面上理解,代理的意思是代替办理,就是一方委托另一方办事,在计算机网络的世界里,代理通常是指客户端与服务端之间的中介。

    风柏杨4711
  • 正向代理和反向代理的区别是什么?

    首先,从字面上理解,代理的意思是代替办理,就是一方委托另一方办事,在计算机网络的世界里,代理通常是指客户端与服务端之间的中介。

    风柏杨4711
  • 什么是反向代理服务器

    我们常会看到‘反向代理服务器’这个名词,例如常看到文章上说 nginx 是一个反向代理服务器、varnish 是一个反向代理服务器 …… 下面就了解下这个概念 ...

    dys
  • 反向代理服务器是什么?

    众所周知,代理是用户和互联网之间的中介。当您使用代理时,您的请求首先通过代理服务器,然后才连接到Internet。您可以将代理想象成一个附加的安全层,它使用自己...

    Oxylabs中文站
  • 正向代理与反向代理有什么区别

    Nginx作为时下最流行的HTTP服务器之一,同时它是一个反向代理服务器,提到反向代理服务器,有同学可能觉得这个概念很模糊,如果说到代理,他可能明白,但是再引出...

    java干货
  • 反向代理为什么叫“反向”代理?

    关注「前端向后」微信公众号,你将收获一系列「用心原创」的高质量技术文章,主题包括但不限于前端、Node.js以及服务端技术

    ayqy贾杰
  • 漫话:如何给女朋友解释什么是反向代理?

    周末,我正在网上搜索简历,准备给团队招聘新人。这时候,女朋友回来了,看起来并不是很高兴。

    Java3y
  • 如果Node.js已具备反向代理的功能,我为什么要使用反向代理?

    这一年是2012年.PHP和Ruby on Rails作为渲染Web应用程序的最高服务器端技术而备受瞩目。但是,一个大胆的新竞争者掀起了一场风暴 - 一个能够处...

    银河1号
  • 浅谈代理IP是什么

    代理IP又称代理服务器(Proxy Server)。是一种重要的安全功能,能起到防火墙的作用。

    用户6049522

扫码关注云+社区

领取腾讯云代金券