1. 正向代理

正向代理:隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替来请求。一般正向代理都需要客户端做一些额外的配置,指定需要将请求发送给哪个代理服务器。这个过程中注意,客户端是知道请求发送给了代理,由代理再去负责使用该请求访问特定的服务器。

例子:科学上网工具SS就可以理解为正向代理。客户端都要安装SS配置后才能使用正向代理。

作用:

  1. 通过代理服务器可以访问一些原本受限无法访问的服务器。
  2. 缓存,加速资源访问
  3. 客户端访问授权,上网认证
  4. 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

2. 反向代理

反向代理:隐藏了真实的服务端,客户端不知道请求到底是发给了哪个服务器,也不知道请求是发送给了反向代理。客户端不需要做任何配置,请求给反向代理之后,反向代理自己会负责要将请求给哪个服务器。

作用:

  1. 反向代理可以启用高级URL策略和管理技术,从而使处于不同web服务器系统的web页面同时存在于同一个URL空间下。
  2. 缓存
  3. 负载均衡
  4. 访问控制
  5. WAP

常使用的反向代理: nginx和haproxy

参考资料:

  1. 反向代理为何叫反向代理?
  2. Anker—工作学习笔记