为什么是反向代理,什么又是正向代理?
说起Nginx,我们都知道它可以用来做反向代理。那么,到底什么是反向代理,对应的正向代理又是什么呢?这篇文章就带大家来了解一下。其中反向代理也是系统架构的重要组成部分。
- 作者:二师兄 来源:程序新视界|2021-03-16 21:42
本文转载自微信公众号「程序新视界」,作者二师兄。转载本文请联系程序新视界公众号。
说起Nginx,我们都知道它可以用来做反向代理。那么,到底什么是反向代理,对应的正向代理又是什么呢?这篇文章就带大家来了解一下。其中反向代理也是系统架构的重要组成部分。
说起代理其本质上可以理解为中介。当A和B不方便进行交互时,往往会引入一个中间角色C,那么C便是中介,便是代理。
正向代理
正向代理服务器通常位于客户端和服务器之间,类似一个跳板机,通过代理服务器可以访问到目标服务器。
正向代理时,通常,客户端发送对目标服务器的请求,代理服务器在中间将请求转发给目标服务器,并将结果返回给客户端。
正向代理时客户端必须要进行一些特别的设置才能使用。
正向代理
比如当我们想访问谷歌,但无法直接访问,这就需要先通过一个正向代理服务器,请求到代理服务器,再由代理服务器进行访问,并把访问结果进行返回。在客户看来,相当于直接请求谷歌。
正向代理通常用于如下场景:
- 访问原来无法访问的资源,如google;
- 使用缓冲特性减少网络使用率,加速访问资源;
- 对客户端访问授权,上网进行认证;
- 代理可以记录用户访问记录(上网行为管理);
- 隐藏客户端身份(目标者不知道幕后操纵者是谁);
反向代理
反向代理(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
- 大家都在看
- 猜你喜欢
编辑推荐
- 24H热文
- 一周话题
- 本月获赞
- Nginx配置详解之配置文件模板分析小菜学网络之DNS服务器工作原理为什么说数据中心中结构化布线非常重要?新华三张鹏:坚持以人为本,三大平台赋能智慧城市建设SpringCloud Alibaba微服务实战之统一资源服务器配置模块服务器UDIMM、LRDIMM、RDIMM三种内存如何区别为什么不建议程序员买M1芯片MacBook?详解Tomcat三种运行模式(BIO, NIO, APR)的比较和场景分析
- NVIDIA 全栈网络产品助力点存科技网络架构创新傲天动联与北京银行签署战略协议 助力研发产业化Nginx配置详解之配置文件模板分析今天,我要一举拿下Nginx!服务器UDIMM、LRDIMM、RDIMM三种内存如何区别一文看懂Nginx如何配置跨域,值得收藏微软公司为提高能效开展数据中心液体冷却实验小菜学网络之DNS服务器工作原理
- Nginx配置详解之配置文件模板分析NVIDIA 全栈网络产品助力点存科技网络架构创新服务器UDIMM、LRDIMM、RDIMM三种内存如何区别一文看懂Nginx如何配置跨域,值得收藏傲天动联与北京银行签署战略协议 助力研发产业化微服务面试必问的Dubbo,这么详细还怕自己找不到工作?详解Tomcat三种运行模式(BIO, NIO, APR)的比较和场景分析为什么不建议程序员买M1芯片MacBook?
订阅专栏+更多
-
数据湖与数据仓库的分析实践攻略
助力现代化数据管理:数据湖与数据仓库的分析实践攻略共3章 | 创世达人7人订阅学习
-
云原生架构实践
新技术引领移动互联网进入急速赛道共3章 | KaliArch36人订阅学习
-
数据中心和VPDN网络建设案例
漫画+案例共20章 | 捷哥CCIE228人订阅学习
视频课程+更多
专题推荐+更多
- 精选博文
- 论坛热帖
-
订阅51CTO邮刊
点击这里查看样刊

51CTO服务号

51CTO官微