正向代理(Forward Proxy)
定位: 位于客户端和互联网之间,代表客户端向服务器发送请求。
用途:
-
隐藏客户端身份:服务器仅看到代理的IP,无法追踪真实客户端。
-
绕过访问限制:突破网络封锁(如访问被屏蔽的网站)。
-
缓存加速:存储常用资源,减少重复请求的带宽消耗(如企业内网代理)。
配置方式:
客户端需主动设置代理(如浏览器配置代理服务器地址)。
示例场景
-
公司内网通过代理访问外网。
-
用户使用 VPN 或 Shadowsocks 访问境外网站。
反向代理(Reverse Proxy)
定位: 位于服务器和客户端之间,代表服务器接收并分发请求。
用途:
-
隐藏服务器身份:保护后端服务器IP,防止直接暴露。
-
负载均衡:将请求分发给多个服务器,提升系统吞吐量。
-
安全防护:提供 SSL 加密、防火墙、DDoS 防御等功能。
-
缓存加速:缓存静态资源,减轻后端压力(如 CDN)。
配置方式:
客户端无需任何设置,反向代理对用户透明。
示例场景
-
使用 Nginx 分发请求到多个应用服务器。
-
网站通过 Cloudflare 提供安全防护和加速。
核心区别
| 特征 | 正向代理 | 反向代理 |
|---|---|---|
| 代理对象 | 代表客户端(隐藏客户端) | 代表服务端(隐藏服务端) |
| 配置方 | 客户端主动设置 | 服务端部署,客户端无感知 |
| 典型用途 | 翻墙、匿名访问、缓存 | 负载均衡、安全防护、加速 |
| 透明性 | 对服务端透明(客户端被隐藏) | 对客户端透明(服务端被隐藏) |
类比解释
正向代理:像“中介”帮你去办事(如代购),对方不知道你是谁。
反向代理:像“前台”帮你分配任务(如银行柜台),你不需要知道后台是谁处理。