一文搞懂正向代理和反向代理

▶ 什么是代理

定义:

代理的英文单词为proxy,其实就是一个中介,充当部件A与部件B的桥梁。

如果把代理中介定义为P,则有如下模型:

一文搞懂正向代理和反向代理

代理模型

分类:

正向代理(forward proxy)反向代理(reverse proxy)

▶ 正向代理

定义:

正向代理的英文单词为forward proxy,一般用于模型里部件A不能访问部件B的情形,如下图所示:

一文搞懂正向代理和反向代理

正向代理抽象问题

把上图的A、B进行具体化,一般用来解决下面的问题:

一文搞懂正向代理和反向代理

正向代理具体问题之一

这时候需要加入P中介来让A(内网客户端)间接访问B(外网资源)

一文搞懂正向代理和反向代理

正向代理原理

用途:

让部件A(内网客户端)访问无法直接访问的部件B(外网资源)

本质:

正向代理本质是客户端代理,代理需求由部件A主动产生,而部件B是被动方。

▶ 反向代理

定义:

反向代理的英文单词为reverse proxy,一般用于模型里部件B不直接被部件A访问的情形,如下图所示:

一文搞懂正向代理和反向代理

反向代理抽象问题

把上图的A、B进行具体化,一般用来解决下面的问题:

一文搞懂正向代理和反向代理

反向代理具体问题之一

这时候需要加入P中介来包装B(服务资源)的访问规则,从而达到让A(客户端)间接访问的目的。

一文搞懂正向代理和反向代理

反向代理原理

用途:

隐藏部件B(服务资源),通过反向代理让部件A(客户端)间接访问。

本质:

反向代理本质是服务器端代理,代理需求由部件B主动产生,而部件A是被动(接受间接访问)方。

不知道大家看见本文,明白了正向代理和反向代理的含义了没有?