代理

代理是一种特殊网络服务, 允许一个网络终端通过这个服务与另一个网络终端进行非直接的连接.

正向代理

forward_proxy

定义

正向代理面向客户端, 客户端向正向代理服务器发送一个请求, 并且指定目标服务器, 之后代理向目标服务器转交请求, 并将结果返回给客户端. 正向代理的情况下需要客户端进行一些特定设置进行使用.

作用

  1. 访问不可达服务器

    客户端到目标服务器的传统路由链路不可达, 经由代理服务器可以访问到目标服务器.

  2. 加速访问

    1. 避免经由低带宽的路由链路.
    2. 代理缓存数据.
  3. 访问授权

    根据用户权限控制访问其他主机的权限.

  4. 隐藏访问者行踪

    请求的身份会从客户端转让到正向代理服务器.

反向代理

reverse_proxy

定义

反向代理面向服务端, 客户端向反向代理的命名空间发送请求, 反向代理判断向何处转交请求, 并返回结果.

作用

  1. 隐藏源服务器

    对于客户端来说, 反向代理服务器是请求终点, 源服务器不可见.

  2. 负载均衡

    根据不同服务源的负载分配请求, 保证整体服务的质量.

  3. 加密和SSL加速

  4. 缓存静态内容

  5. 压缩

  6. 减速上传

  7. 安全

  8. 外网发布

正向代理和反向代理的区别

服务对象不同, 前者面向客户端, 后者面向服务端.