简言之:

    • 正向代理是代理的是客户端,是架设在客户端的,知道服务器是谁。
    • 反向代理代理的是服务端,架设在服务端,客户端不知道真正的服务器是谁。

    一、正向代理

    1、隐藏
    image.png
    正向代理服务器实际上是代理的客户端,对于服务端来说,不知道真正的客户端的存在,对它来说,代理服务器就是它的客户端。
    2、翻墙
    image.png
    客户端安装一个可以连上正向代理服务器的软件,该代理服务器可以访问一些客户端无法访问的服务器。
    3、提速
    image.png
    客户端能够直接访问服务器,但是是一个低速链路。此时的代理服务器可以提供一个高速链路供客户端访问服务器。就好比我们现在某些资源的时候,直接下载比较慢,此时可以访问一些镜像地址。
    4、缓存
    image.png
    比如,公司内部一般会建立自己的Nexus的maven本地仓库的服务器,该服务器就是起到了缓存作用。
    5、授权
    image.png
    公司内部对员工电脑设有访问外网的权限控制,起到防火墙的作用。

    二、反向代理
    1、保护隐藏服务端
    image.png
    2、分布式路由
    image.png
    客户端提交请求,反向代理服务器会根据请求的uri转发到不同功能的服务器。

    3、负载均衡
    image.png
    客户端提交的请求,反向代理服务器会根据不同的策略将请求转发到不同的服务器。

    4、动静分离
    image.png
    反向代理服务器将不同的请求(动态和静态)转发到动态服务器或是静态服务器。

    5、数据缓存
    image.png