关键要点:
- 正向代理控制出站流量,保护客户端。
- 反向代理控制入站流量,保护服务器。
- 选择哪一种取决于您需要控制的是自己发出的请求,还是进入服务器的入站流量。
使用代理服务器的理由有很多,但归根结底都是为了控制流量在您的环境中进出的方式。这种控制方式取决于代理在请求链路中所处的位置。
一种方案是将代理放在客户端设备前面,负责引导从您网络发出的请求,并决定您的 IP 地址以何种方式呈现给外部世界。另一种方案是将代理部署在网络服务器前面,置于公开互联网与源站服务器或其他后端服务器之间。
这两种部署位置是理解正向代理与反向代理区别的基础。本文将介绍二者的工作原理、使用原因,以及各自需要权衡的利弊。
什么是正向代理?
理解正向代理最简单的方式,就是从名称入手。之所以叫正向代理,是因为它位于您的客户端设备前方,在流量到达互联网之前先接收这些请求。
正向代理的常见使用场景
得益于正向代理的设计和结构,日常网络活动中有许多使用场景可以用到它。以下是一些最常见的使用场景:
- 隐私保护与 IP 隐藏
您可以通过正向代理服务器路由流量,隐藏真实 IP 地址,在浏览互联网时保持一层隐私保护。如果匿名性是您的主要目标,可查看我们关于匿名代理服务器的专项指南,了解不同匿名级别之间的差异。
- 地理路由与地区测试
通过更改出口 IP 地址,您可以查看广告在不同地区的展示效果,或访问仅限特定市场使用的内容。
- 网络爬取与数据采集
正向代理可以帮助您在从互联网采集数据时轮换 IP,从而避免速率限制并绕过地区封锁。
- 多账户管理
如果您在社交媒体、电商平台或类似服务上运营多个账户,可以借助正向代理将它们区分开,为每个身份分配独立的黏性 IP。对于时尚和零售类平台,About You proxies正是专为这一使用场景打造的。
- 企业出站流量控制
学校、公司和各类机构常使用正向代理来过滤出站流量,屏蔽不符合内部政策规定的网站。
- 绕过网络限制
您可以通过外部代理路由流量,绕过限制性网络对特定网站的直接访问屏蔽。如需在 Android 上设置代理的详细步骤,请查看我们关于如何在Android 设备上设置代理服务器的完整教程。
- 在敏感环境中保护客户端设备
记者、研究人员以及身处高风险地区的个人,依赖正向精英代理在连接互联网时降低暴露风险。
什么是反向代理?
您很可能已经见过反向代理的实际运作。当您尝试打开某个网站,看到类似这样的提示:
“正在检查您的浏览器,以便访问该网站……”或“此网站受 Cloudflare 保护”,这其实就是反向代理服务器在处理传入的网络流量。
在这种情况下,传入的网络流量首先到达反向代理,再由它决定网络中哪台服务器应接收每个请求。因此,如果说正向代理是您设备的缓冲层,那么反向代理就是接收您请求的目标服务器的缓冲层。
反向代理的常见使用场景
以下是一些最常见的使用场景:
- 流量过滤
您可以配置入站代理服务器,过滤掉不希望传递到源站服务器的内容或请求类型。
- 将请求路由至正确的后端
如果您的应用依赖多台上游服务器,入站代理会检查传入的网络流量,并根据 URL 路径、主机名、请求头或Cookie等细节,将其发送至正确的目标。
- 内容缓存
一些入站代理系统会存储常被访问内容的副本,直接提供响应,从而减轻网络服务器的负载。
- 负载均衡
反向代理可以根据您配置的规则,将客户端请求分发到多台上游服务器。
- DDoS 防护
反向代理有助于在大量入站流量到达您的内部环境之前将其吸收消化。通过在边缘节点检查请求,它可以丢弃不需要的流量,为您的系统提供针对常见分布式拒绝服务模式的防护。
- SSL 与 TLS 处理
反向代理可以管理整个加密连接,包括 TLS 握手过程,从而减轻上游服务器的处理负担,使其能够专注于生成响应,而不必处理加密工作。
- 隐藏内部基础架构
由于入站代理位于公开互联网与您的上游服务器之间,它可以隐藏您内部的 IP 地址结构,防止外部直接访问其背后的系统。
正向代理与反向代理:对比一览
位于客户端设备前方
位于网络服务器前方
客户端
后端服务器
隐私保护、数据抓取、地理路由、出站访问控制、身份隐藏,以及通过不同出口节点路由客户端请求
流量过滤、路由、缓存、负载均衡、DDoS 防护、SSL 终止,以及隐藏内部基础架构
根据代理质量、IP 池和地理距离的不同,可能降低或增加延迟。处理大量客户端请求时可能增加额外开销。
可通过缓存和压缩提升性能,能够为上游服务器分担工作量,并将负载分散到多个节点。
为客户端提供匿名性,并支持出站流量过滤
通过吸收传入的网络流量、应用 WAF 规则、屏蔽可疑流量、隐藏服务器 IP 地址以及控制访问权限来保护服务器
住宅代理、数据中心代理、移动代理、ISP 代理、球鞋代理
Nginx、Apache mod_proxy、HAProxy、Cloudflare、AWS ALB/ELB、Traefik、Envoy
正向代理与反向代理的工作原理
正向代理的请求—响应流程

当您将设备设置为使用正向代理时,该代理服务器就成为您的客户端设备与目标代理服务器之间的中介。您发出的每一个请求都会先经过代理路由,再由代理服务器根据其配置对请求进行评估。这一评估过程可能包括:
- 身份验证检查:确认您的用户名、密码、令牌或 IP 地址是否被授权使用该服务。
- 规则检查:依据内部规则审核请求,确保 URL 被允许访问、端口被允许使用,并遵守相应的流量限制。
- 请求完整性:检查请求格式是否正确。对于 HTTPS 流量,这意味着在代理建立安全隧道之前要先验证 CONNECT 方法。
- 请求头过滤:移除暴露您身份的请求头,并添加代理路由或策略执行所需的请求头。
- IP 替换:用代理的 IP 地址替换您设备的 IP 地址,这正是正向代理所带来的隐私保护层。
- 建立连接:与目标网络服务器建立连接。对于 HTTP 流量,这一过程是直接完成的;对于 HTTPS 流量,代理会在 CONNECT 步骤之后建立 TLS 隧道。
完成上述检查后,代理会将请求转发至目标服务器。目标服务器将响应返回给正向代理服务器,代理可能根据其配置对数据进行缓存、压缩或过滤。处理完目标服务器的响应后,代理会将最终响应发送回您的客户端设备。
反向代理的请求—响应流程

在反向代理服务器位于上游服务器前方的架构中,流量的流动方向与正向代理相反。来自公开互联网的入站流量会首先到达这里,代理服务器随后决定如何处理该请求,再将其发送至相应的上游服务器。
在此阶段,代理服务器可能执行以下若干检查:
- 请求验证:检查请求的结构,确保请求头可接受、大小在限制范围内,且协议与上游服务器所支持的一致。
- IP 过滤:可根据客户端的 IP 地址、ASN 或地区允许或限制访问。
- 机器人过滤:通过前期筛查,代理可以在流量到达源站服务器之前检测并剔除自动化或可疑流量。
- 应用防火墙规则:可借助 WAF,将请求与既定规则进行比对,拦截任何看起来有害的内容。
- 速率限制与节流:代理可以延缓或拒绝重复、过快的请求,按单个 IP 或单个 URL 设置限制,保护上游服务器免受不必要的压力。
- 路由逻辑:对于通过筛查的请求,代理会根据与路径、主机名或其他请求细节相关的规则,决定应由哪台上游服务器接收。
- 负载均衡决策:当存在多台上游服务器时,代理可充当负载均衡器,根据能维持系统稳定性的算法分配流量。
- 缓存逻辑:当所请求的内容未发生变化、无需由上游服务器重新生成时,代理可直接向客户端返回缓存的响应。
完成这些检查后,入站代理会将请求发送给其后端的上游服务器。上游服务器处理请求后,将响应返回给代理服务器,随后代理服务器会根据自身配置处理这些响应,再将其发送回公网上的各个客户端设备。
如何在代理与反向代理之间做选择
适合使用正向代理的情况:
- 希望用正向代理服务器的 IP 地址替换设备自身的 IP 地址。
- 需要借助不同地区的 IP 来路由流量,以完成地理定位相关任务。
- 需要执行网页抓取或管理多账户工作流等自动化任务,且身份隔离十分重要。
- 需要在组织内部强制执行出站访问规则。
- 希望在设备连接互联网时,前置一层隐私保护。
适合使用反向代理的情况:
- 希望在公网请求到达任何后端服务器之前先对其进行检查。
- 希望对入站流量进行筛查、过滤、速率控制或应用防火墙规则。
- 所在环境依赖多台后端服务器,需要路由逻辑来实现负载均衡。
- 希望将 TLS 或 SSL 处理从后端服务器上卸载出来。
- 希望让后端服务器免受公网直接访问的影响。
常见的代理与反向代理工具
ISP 代理:由 ISP 提供、托管在高速数据中心的 IP,适合频繁登录及需要持续会话的工作流程。
Cloudflare:过滤机器人、执行 WAF 规则、缓存内容并吸收 DDoS 流量。
球鞋代理:专为在新品发售期间实施严格反机器人措施的零售网站优化的 IP。
AWS Application Load Balancer:执行基于路径的路由、TLS 卸载以及请求分发。
结论
在正向代理与反向代理之间做选择,取决于您希望在流量路径的哪个环节进行控制。如果您的重点是管理出站流量,那么正向代理正是适合这一工作流程的方案。
而如果需求相反,目标是在请求到达任何后端服务器之前对其进行管理,那么合适的选择就是反向代理服务器。决定因素很简单:您需要的是对出站活动的控制,还是围绕内部环境的一层防护。另外,也可以查看我们的代理助手一文。
反向代理与负载均衡器有什么区别?
所有负载均衡器都是反向代理,但并非所有反向代理都是负载均衡器。反向代理位于后端服务器之前,可以过滤入站请求或将流量路由到不同的服务;而负载均衡器是一种更专一的工具,其主要作用是将入站请求分发到多台后端服务器,以保持性能的稳定一致。
代理服务器可以同时充当反向代理吗?
可以。如果将代理服务器配置为处理入站流量而非出站流量,它就可以充当反向代理。两者的区别不在于软件本身,而在于它在网络中所处的位置。
反向代理中的 SSL/TLS 终结是如何工作的?
SSL/TLS 终结是指反向代理负责处理所有入站 HTTPS 流量的加密与解密,这样后端服务器就可以专注于处理请求,而无需承担加密运算的工作。
使用反向代理存在哪些安全风险?
反向代理是所有入站流量的唯一入口,因此该节点上的任何漏洞或配置错误都会影响整个环境。如果代理配置不当、暴露了后端服务器、错误处理了 SSL 或 TLS 设置,或者应用了错误的路由规则,这些问题会影响进入该网络的每一个请求。
VPN 和代理是一回事吗?
不是,VPN 与代理并不相同。VPN 会在您的设备与 VPN 服务器之间为所有流量建立加密隧道,而代理则扮演中介角色,拦截您的请求并在应用相应修改后转发给目标服务器。