一文说清楚正向代理和反向代理和二者的区别
一、正向代理
场景:当某个服务器,无法被客户端直接访问时。客户端通过配置代理服务器的代理间接访问目标服务器,目标服务器返回数据给代理服务器后,代理服务器再将数据返回客户端浏览器。
二、反向代理
浏览器访问目标网站时,访问到的是反向代理服务器(对服务器提供代理),由反向代理服务器选择原始服务器提供服务响应结果,再返回给客户端浏览器。
三、正向代理和反向代理对比
相同点
- 都起到了连接与保护的作用,正向代理和反向代理,都是处于客户端和服务器端之间。
- 所做的事情都是转发客户端的请求给服务器
- 都可以提高访问速度
不同点
- 服务的对象不同: 正向代理是客户端的代理,服务器端不知道真正的客户端是谁。反向代理是面向服务器的代理,用户不知道真正的服务器是谁。
- 架设位置不同: 正向代理架设在客户机和目标主机之间,反向代理服务器架设在服务器端
- 作用不同 正向代理主要用来解决访问限制问题,反向代理主要解决负载均衡和安全防护等问题
四、负载均衡
- 当⼀个请求到来的时候(结合上图),Nginx反向代理服务器根据请求去找到⼀个原始服务器来处理当前请求,那么这叫做反向代理。那么,如果⽬标服务器有多台(⽐如上图中的tomcat1,tomcat2,tomcat3…),找哪⼀个⽬标服务器来处理当前请求呢,这样⼀个寻找确定的过程就叫做负载均衡。
- ⽣活中也有很多这样的例⼦,⽐如,我们去银⾏,可以处理业务的窗⼝有多个,那么我们会被分配到哪个窗⼝呢到底,这样的⼀个过程就叫做负载均衡。负载均衡就是为了解决单独一个服务器性能无法应对⾼负载的问题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现