反向代理如何工作
访问者 → 反向代理 → 服务器 A
→ 服务器 B
→ 服务器 C
访问者连接反向代理时,就像在直接访问网站。反向代理会决定由哪台服务器响应,将请求转发过去,再把响应返回给访问者。访问者不会直接与后端服务器通信。
反向代理有什么作用
- 负载均衡: 将访问者分配到多台服务器。
- 缓存: 直接从内存或靠近访问者的节点提供热门文件,CDN 也是如此。
- 加密: 处理 HTTPS,让后端服务器无需自行处理。
- 安全: 在攻击和不需要的机器人流量到达网站前将其过滤。
反向代理与正向代理的区别
| 反向代理 | 正向代理 | |
|---|---|---|
| 部署在谁的前端 | 服务器 | 客户端 |
| 部署方 | 网站所有者 | 用户或其所在公司 |
| 主要作用 | 对入站流量做负载均衡、缓存和防护 | 更改或控制出站流量 |
用于浏览网页或采集数据而购买的代理服务器都是正向代理。
为什么反向代理会影响数据采集
网站前端的反向代理通常负责对自动化流量限速或发起验证。验证页面、403 Forbidden 或 429 Too Many Requests 通常来自这一层,而不是网站自己的服务器。
常见问题
CDN 是反向代理吗?
从实际作用来看,是的。CDN 通过靠近各访问者的服务器接收请求,再提供缓存副本,或将请求转发到网站自己的服务器。可以把它看作分布在多个地区的反向代理。
可以用反向代理隐藏自己的 IP 吗?
不可以。反向代理隐藏并保护的是网站服务器,而不是访问者。要更改网站看到的 IP,需要使用正向代理,例如住宅代理。
如何判断网站是否使用了反向代理?
通常可以从响应头中看出,例如 Server: cloudflare、Via 头,或 X-Cache 等缓存头。