正向代理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!
评论