反向代理的定义

反向代理 (reverse proxy): 在电脑网络中, 反向代理是代理服务器的一种. 它根据客户端请求, 从后端服务器上获取资源并返回给客户端.

此处的后端服务器可以泛指整个网络, 即, 反向代理的定义没有规定后端服务器的类型.

反向代理与正向代理

反向代理 (reverse proxy) 与正向代理 (forward proxy) 的概念容易混淆, 用不易产生歧义的语言描述:

  • 正向代理代理客户端, 代理客户端收发请求, 使真实客户端对服务器不可见 (在服务器看来, 所有请求都来自代理服务器);
  • 反向代理代理服务器, 代理服务器收发请求, 使真实服务器对客户端不可见 (在客户端看来, 所有资源都来自代理服务器).

反向代理的功能

反向代理的主要作用为:

  • 加密和 SSL 加速
  • 负载均衡(在多台后端服务器间按权重分配客户请求)
  • 缓存静态内容(静态资源可缓存并直接返回, 减少后端服务器压力.)
  • 压缩(数据压缩, 减少流量.)
  • 减速上传(后端服务器一次性生成大量动态页面, 保存于反向代理服务器, 并在客户请求时返回. 避免每次请求对生成页面的等待.)
  • 安全(可向客户隐藏服务器.可防范 Dos 或 DDoS 等类型攻击 (对真实服务器).)
  • 外网发布(允许通过同一个公网 IP 或端口访问局域网内的不同服务器资源.
  • 突破互联网封锁(作用与外网发布相反, 从局域网内通过一个公网 IP 访问外网的不同服务器资源.)
  • 加密和 SSL 加速
  • 在后端服务器和客户端间提供加密和 SSL 加速.

英文 Wiki 上还提到:

  • 测试(反向代理可以在页面不包含 JavaScript 标签或代码前提下进行 A/B 测试和多变量测试.)
  • 免验证(通过反向代理服务器, 可以方便地将其他未经验证的服务器接入网络.)

REFERENCE:

反向代理 – 维基百科,自由的百科全书

反向代理为何叫反向代理? – 知乎

分类: 服务器

发表评论

电子邮件地址不会被公开。 必填项已用*标注