正向代理
正向代理位于客户端和目标服务器之间,客户端明确知道目标服务器的地址,但请求首先发送给正向代理服务器。
正向代理代表客户端向目标服务器发送请求,并将响应返回给客户端。
正向代理就像一个中介,客户端委托中介去访问目标服务器,目标服务器只知道中介的存在,不知道真正的客户端是谁。
比如:你在公司电脑上访问被墙的 Google,通过配置正向代理(如 Shadowsocks),由代理服务器去请求 Google,这就是正向代理。
反向代理
反向代理位于客户端和后端服务器之间,客户端不知道真正的目标服务器是谁,只与反向代理服务器交互。
反向代理就像一个服务台,客户端向服务台询问信息,服务台将请求转发给相应的部门。
并将结果返回给客户端,客户端只知道服务台的存在,不知道具体的部门。
比如:你访问百度首页,其实请求先到了百度前置 Nginx,再由它转发到后端多个服务节点处理,然后返回给你。
正向代理和反向代理区别
正向代理和反向代理是网络中两种常见的代理服务,它们在工作方式和应用场景上有明显的区别。
区别如下:
对比维度 | 正向代理 | 反向代理 |
---|---|---|
代理对象 | 客户端 | 服务器端 |
使用者 | 客户端(如翻墙、匿名访问) | 服务端(如负载均衡、安全控制、缓存等) |
客户端感知 | 目标服务器不可感知客户端真实 IP | 客户端不可感知后端服务器 |
目标服务器感知 | 感知的是代理服务器 IP | 感知的是代理服务器 IP |
使用场景 | 科学上网、访问被屏蔽网站、匿名浏览 | 负载均衡、动静分离、缓存加速、安全防护等 |
是否常用于 Nginx | 很少,需借助第三方模块 | 是 Nginx 的核心应用场景之一 |
mikechen
mikechen睿哥,10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!

后台回复【架构】即可获取《阿里架构师进阶专题全部合集》,后台回复【面试】即可获取《史上最全阿里Java面试题总结》