正向代理VS反向代理
🛰️ 正向代理 vs 反向代理(通俗理解)
📌 概念对比表
| 项目 | 正向代理 | 反向代理 | 
|---|---|---|
| 谁发起使用? | 客户端(用户自己配置) | 服务端(自动代理到后端) | 
| 被隐藏的是谁? | 客户端 | 后端服务器 | 
| 应用场景 | 科学上网、绕过墙 | 负载均衡、隐藏真实后端 | 
| 示例 | VPN、HTTP代理 | Nginx、Apache 反向代理 | 
| 用户访问的是什么 | 代理服务器 | 代理服务器 | 
| 代理服务器转发给 | 目标网站 | 实际后端服务(如 Flask) | 
🎯 正向代理(Forward Proxy)
帮你访问你访问不到的网站
sequenceDiagram
    participant 用户
    participant 代理服务器
    participant 谷歌
    用户->>代理服务器: 我要访问 Google
    代理服务器->>谷歌: 用户请求(代发)
    谷歌-->>代理服务器: 响应内容
    代理服务器-->>用户: 返回数据
🔍 特点
- 客户端配置代理
 - 代理“伪装”你去访问外部
 - 被服务端看到的是“代理”,不是你
 
🛠 用途
- 科学上网
 - 绕过防火墙
 - 限制 IP 访问(如只允许代理服务器的 IP)
 
🎯 反向代理(Reverse Proxy)
帮用户访问后端真实服务,用户不知道背后有几个 Flask
sequenceDiagram
    participant 用户
    participant Nginx(反向代理)
    participant Flask 服务1
    participant Flask 服务2
    用户->>Nginx: 请求 /index
    Nginx->>Flask 服务1: 转发请求
    Flask 服务1-->>Nginx: 返回响应
    Nginx-->>用户: 返回响应
🔍 特点
- 用户不配置任何代理
 - 用户访问的是 Nginx,但真正处理请求的是后端服务(Flask、Django)
 - 后端服务被“隐藏”了起来
 
🛠 用途
- 动静分离(Nginx 提供静态文件)
 - 负载均衡(分发请求到多个后端)
 - 提供 HTTPS 支持(SSL 终止)
 - 统一入口(网关)
 
📦 一个经典例子(Flask + Nginx)
1  | [用户浏览器]  | 
✅ 小结一句话
正向代理隐藏的是客户端,反向代理隐藏的是服务端。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 jiaklop9!
 评论