首页 > 其他分享 >图文总结:正向代理与反向代理

图文总结:正向代理与反向代理

时间:2024-04-18 09:22:51浏览次数:15  
标签:代理 代理服务器 反向 服务器 正向 图文 客户端

1 介绍

在计算机网络领域,代理服务器扮演着至关重要的角色,它在服务器与客户端之间充当中间人的角色,有效地提高系统的安全性、性能和可扩展性。
其中正向代理和反向代理是两种最为常见的代理方式。本文将详细介绍这两种代理方式的概念、特点、使用场景以及用途,帮助读者更好地理解它们在网络架构中的作用。

2 正向代理(Forward Proxy)

2.1 正向代理概念

正向代理是一种位于客户端和服务器之间的代理服务器。客户端将请求发送给正向代理,然后由代理服务器将请求转发给目标服务器。服务器将响应返回给代理服务器,再由代理服务器将响应转发给客户端。正向代理对客户端是透明的,客户端无需知道实际服务器的地址。

2.2 正向代理特点

1. 隐藏客户端身份: 正向代理可以隐藏客户端的真实IP地址,保护客户端的隐私。
2. 访问控制: 正向代理可以根据一定的规则限制或允许客户端的访问请求,实现访问控制功能
3. 缓存加速: 正向代理可以缓存经常访问的页面或资源,提高访问速度,减轻服务器负担

2.3 使用场景

image

1. 突破网络限制: 在某些地区或网络环境下,用户可能无法直接访问某些网站或服务。此时,可以通过设置正向代理来突破这些限制,实现访问。
image

2. 网络安全: 通过正向代理,企业可以监控和管理员工的网络访问行为,隐藏客户端真实IP,防止敏感数据泄露。
3. 内容过滤: 学校、图书馆等公共场所可以通过正向代理过滤不良内容,保护用户免受不良信息的侵害。
4. 提高访问速度: 代理服务器设置硬盘缓冲区,可以将部分高频请求的响应数据保存到缓冲区中,以提高访问速度。

3 反向代理(Reverse Proxy)

3.1 反向代理概念

反向代理是一种位于服务器和客户端之间的代理服务器。客户端将请求发送给反向代理,然后由代理服务器根据一定的规则将请求转发给后端服务器。后端服务器将响应返回给代理服务器,再由代理服务器将响应转发给客户端。反向代理对客户端是透明的,客户端无需知道实际服务器的地址,只需将反向代理当作目标服务器一样发送请求就可以了。

3.2 反向代理特点

1. 负载均衡: 反向代理可以根据后端服务器的负载情况,将请求分发到不同的服务器上,实现负载均衡,提高系统的整体性能。
2. 安全性增强: 反向代理可以隐藏后端服务器的真实地址和端口,防止直接攻击(如DoS/DDoS)。同时,还可以实现SSL加密、访问控制等安全功能。
3. 缓存优化: 反向代理可以缓存静态资源,减少后端服务器的负载,提高响应速度。

image

3.3 使用场景

1. Web应用: 在Web应用中,反向代理常用于实现负载均衡、安全访问控制以及缓存优化等功能。
2. API网关: API网关通常采用反向代理的方式,对外部请求进行统一管理和调度,实现API的安全、高效访问
3. CDN加速: 内容分发网络(CDN)通过在全球范围内部署反向代理服务器,实现内容的就近访问和加速传输
image

4 正反向代理的比较

4.1 相同点

1. 位置和功能: 正向代理和反向代理都位于客户端和真实服务器之间,它们的主要功能都是将客户端的请求转发给服务器,然后再将服务器的响应转发给客户端。
2. 提高访问速度: 两者都能通过缓存机制提高访问速度。当客户端请求某个资源时,如果代理服务器已经缓存了该资源,就可以直接从缓存中提供,而无需再次从原始服务器获取,从而节省了时间和带宽。

4.2 不同点

1. 代理对象: 正向代理是为客户端提供代理服务,即服务器不知道真正的客户端是谁。而反向代理则是为服务器提供代理服务,即客户端不知道真正的服务器是谁。
2. 架设位置: 正向代理通常是由客户端架设的,而反向代理则是由服务器架设的。
3. 用途和目的: 正向代理的主要用途是为在防火墙内的局域网客户端提供访问Internet的途径,侧重于解决访问限制问题。而反向代理的主要用途是将防火墙后面的服务器提供给Internet用户访问,其目的在于实现负载均衡、安全防护等。
4. 服务对象: 在正向代理中,服务器不知道真正的用户是谁;而在反向代理中,用户不知道真正的服务器是谁。

4.3 四层和七层中反代的区别

  • 四层中根据用户的IP+PORT来做hash
  • 七层中根据Http协议中的属性来做hash(如Header、Cookies)

4 总结

正向代理和反向代理在计算机网络中各自发挥着重要的作用。正向代理主要关注客户端的访问需求和安全性,而反向代理则更注重后端服务器的负载均衡、安全性和性能优化。在实际应用中,我们可以根据具体需求选择合适的代理方式,实现网络架构的优化和升级。

标签:代理,代理服务器,反向,服务器,正向,图文,客户端
From: https://www.cnblogs.com/wzh2010/p/18031168

相关文章

  • vue代理问题设置
    proxy:{'/api':{target:"http://192.168.10.253:8082",//跨域地址changeOrigin:true,//支持跨域rewrite:(path)=>path.replace(/^\/api/,"")//重写路径,替换/api}} c......
  • 配置linux系统代理,且验证是否配置成功
      配置linux系统代理是否成功验证方法在Linux系统中,配置代理的目的通常是为了访问网络资源。要验证代理配置是否成功,可以使用命令行工具如curl来测试网络连接。以下是一个简单的步骤来验证代理配置:打开终端。输入以下命令来设置环境变量,使用您的代理服务......
  • 如何在Semantic Kernel中使用第三方代理OpenAI API接口
    最近手里没有官方的OpenAIAPIKey了,只能在第三方代理平台去购买APIKey。但是使用SemanticKernel的时候发现AddOpenAIChatCompletion不像AddAzureOpenAIChatCompletion那样可以选择终结点去看了下SemanticKernel项目下的issues,这个问题被提及了好几次,但是官方仍然没有提供End......
  • Spring开发:动态代理的艺术与实践
    本文分享自华为云社区《Spring高手之路17——动态代理的艺术与实践》,作者:砖业洋__。1.背景动态代理是一种强大的设计模式,它允许开发者在运行时创建代理对象,用于拦截对真实对象的方法调用。这种技术在实现面向切面编程(AOP)、事务管理、权限控制等功能时特别有用,因为它可以在不修......
  • CentOS 7配置Nginx反向代理的步骤
    安装Nginx:如果你的服务器还没有安装Nginx,你可以使用以下命令来安装:sudoyuminstallepel-releasesudoyuminstallnginx创建或修改Nginx配置文件:默认的Nginx配置文件通常位于/etc/nginx/conf.d/目录下。你可以在这个目录下创建一个新的配置文件,例如yourdomain.conf:sudo......
  • whistle代理使用
    1.介绍whistle(读音[ˈwɪsəl],拼音[wēisǒu])基于Node实现的跨平台web调试代理工具,类似的工具有Windows平台上的Fiddler,主要用于查看、修改HTTP、HTTPS、Websocket的请求、响应,也可以作为HTTP代理服务器使用,不同于Fiddler通过断点修改请求响应的方式,whistle采用的是类似配置系......
  • 模板和图文集
    问题:保存文字中已设置好格式的表格解决:文档另存为,文件类型修改为模板,之后只需要双击该模板就可以新建一个保留模板上所有内容的新文档另外,可以使用图文集保存固定格式、表格、内容等的内容选取指定内容》插入》自动图文集》将所选内容保存到自动图文集,需要重复使用时可以从自......
  • 云场景下的代理重加密 Proxy Re-Encryption
    目录主页引言代理重加密代理重加密关键流程实践&应用总结参考资料主页个人微信公众号:密码应用技术实战个人博客园首页:https://www.cnblogs.com/informatics/引言2022年12月,人工智能迎来了一件大事,OpenAI的ChatGPT横空诞生,成为了现象级产品。如果说算力是人工智能的发动机,那......
  • nginx的反向代理upstream
    一、安装nginx查看这篇博客 https://www.cnblogs.com/zrl66/p/14118063.html二、负载均衡upstream下面就是访问www.qwe.com域名反向代理,然后请求转到upstreambackend权重配置,根据配置进行访问。http{......upstreambackend{serverwww.......
  • C++算法题解 - 递归实现排列型枚举 - 递归法 (图文) (递归搜索树)
    题目:递归实现排列型枚举把1∼n这n个整数排成一行后随机打乱顺序,输出所有可能的次序。输入格式一个整数n。输出格式按照从小到大的顺序输出所有方案,每行1个。首先,同一行相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。数据......