正向/反向/透明代理服务器对比

一、正向代理

正向代理是一个位于客户端和目标服务器之间的服务器,为了从目标服务器取得内容,客户端需要向代理服务器发送一个请求并指定目标服务器,然后代理服务器向目标服务器转交请求并将获得的内容返回给客户端。

正向代理

1.1、特点

  • 用户无法直接访问目标服务器;
  • 客户端明确知道自己访问的是代理服务器;
  • 隐藏真实的客户端IP;

1.2、使用场景

  • 为防火墙(局域网)内的客户端提供访问互联网的途径;
  • 客户端的鉴权;
  • 提供数据缓存,访问加速服务;

1.3、相关软件

  • Nginx

  • Apache Traffic Server

  • Tinyproxy

  • Squid Cache

二、反向代理

反向代理服务器位于客户端与目标服务器之间,但是对于客户端而言,反向代理服务器就相当于目标服务器,即客户端直接访问反向代理服务器就可以获得目标服务器的资源。同时,客户端不需要知道目标服务器的地址,也无须在客户端作任何设定。

反向代理

2.1、特点

  • 客户端不知道访问的是代理服务器,客户端认为访问的就是实际的目标服务器;
  • 目标服务器不知道访问请求来源于代理服务器。目标服务器认为发送请求的就是普通的客户端;

2.2、使用场景

  • 网络的负载均衡;
  • 保护和隐藏目标服务器;

2.3、相关软件

  • Nginx
  • Apache HTTP Server
  • IIS
  • Traffic Server
  • HAProxy
  • Squid

三、透明代理

客户端根本不知道有代理服务器的存在,它改变客户端/目标服务器的报文信息,并会传送真实IP。

透明代理

3.1、特点

  • 客户端不知道代理服务的存在;

3.2、使用场景

  • 路由器的NAT转发;

3.3、相关软件

  • Squid

  • Polipo

  • Tinyproxy

Author: bugwz
Link: https://bugwz.com/2019/10/12/proxy/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.