当前位置: 首页 > 科技观察

为什么是反向代理,什么是正向代理?

时间:2023-03-19 18:22:45 科技观察

本文转载自微信公众号《程序新视野》,作者为二哥。转载本文请联系程序新视界公众号。说到Nginx,大家都知道它可以作为反向代理。那么,什么是反向代理,对应的正向代理又是什么呢?本文将带你了解。反向代理也是系统架构的重要组成部分。说到代理,本质上可以理解为中介。当A和B不方便互动时,往往会引入一个中间角色C,那么C就是中间人和代理人。正向代理正向代理服务器通常位于客户端和服务器之间,就像一个跳板,代理服务器可以通过它访问目标服务器。在正向代理中,通常是客户端向目标服务器发送请求,代理服务器在中间将请求转发给目标服务器,并将结果返回给客户端。对于正向代理,客户端必须进行一些特殊设置才能使用。正向代理比如我们要访问google,但是不能直接访问,就需要先经过一个正向代理服务器,向代理服务器请求,然后代理服务器访问并返回访问结果。从客户的角度来说,相当于直接向谷歌提出要求。正向代理通常用于以下场景:访问以前无法访问的资源,如google;使用缓冲功能来减少网络使用并加快对资源的访问;授权客户端访问并验证互联网;代理可以记录用户访问记录(上网行为管理);隐藏客户的身份(目标不知道谁在幕后);反向代理(ReverseProxy)与正向代理正好相反,代理服务位于服务器端。对于客户端,反向代理服务器似乎是目标服务器。反向代理服务器接收到客户端的请求,分发给内网服务器,并将内网服务器返回的结果返回给客户端。整个过程中,客户端不会感知到反向代理背后的服务,客户端不需要做任何设置。它只需要将反向代理服务器视为真实服务器即可。反向代理反向代理的目的:保护和隐藏原有资源服务器,防止攻击,通常使用反向代理作为公网访问地址,web服务器为内网;负载均衡,通过反向代理优化服务器资源;加密和SSL加速;缓存静态内容;压缩、减速上传、安全、外网发布等。正向代理和反向代理的区别在用途上区分:防火墙。反向代理:反向代理的目的是为互联网用户提供对防火墙后服务器的访问。安全区别:正向代理:正向代理允许客户端通过它访问任何网站,并且隐藏了客户端本身,因此必须采取安全措施确保只为授权客户端提供服务;反向代理:对外透明,访问者不知道自己访问的是代理。对于访问者来说,它认为他们正在访问原始服务器。TransparentProxy透明代理类似于正向代理的功能。客户端不需要知道代理服务器的存在。它会更改您的请求字段(消息)并传输真实IP。多用于路由器的NAT转发。例如,A公司出于工作效率或安全考虑,屏蔽了QQ软件的使用。公司在内网和外网之间插入透明代理,按照规则抓取请求内容,遇到QQ请求就拦截,从而完成透明屏蔽。总结正向代理和反向代理的区别在于代理对象不同。正向代理的代理对象是客户端,反向代理的代理对象是服务器。站在客户端一侧的代理服务器是正向代理,站在原服务器一侧的代理服务器是反向代理。参考文章:https://blog.csdn.net/u010454030/article/details/78860412https://juejin.cn/post/6844904064266960903https://www.cnblogs.com/anker/p/6056540.htmlhttps://blog.csdn.net/qq_28988969/article/details/82982474https://www.cnblogs.com/taostaryu/p/10547132.html