我们在工作中经常听到正向代理、反向代理,但是很多同学其实都没搞清楚正向代理和反向代理到底什么意思,有的理解的甚至一直都是理解的一个错误概念,今天就用简单易懂的方式给大家介绍下正向代理和反向代理,让大家知道怎么回事,真正理解网络代理,并牢牢记住它。
正向代理
正向代理一般比较多的使用场景是用于科学上网,下面通过一张图来解释下正向代理的过程。
从图中可以很容易看出正向代理服务器起到的作用是隐藏了真实的请求客户端,对于真正接收请求的服务器来说,它不知道具体是哪个客户端来访问的,目前很多黑客都是通过多台代理服务器进行中转,来隐匿自己所在地的IP和真实身份,所以黑客的网络犯罪一般是比较难追踪的,一般他们使用的正向代理服务器都是在境外,很多互联网的DDos攻击也都是利用境外的肉鸡服务器来攻击国内服务器,这就导致很多公司的服务在遭受DDos后很难反击,因为不知道真正的背后黑手是谁。
我们再用一张图来了解下正向代理最普遍的应用--科学上网。
这张图就是能很好的解释为什么我们通过科学上网就能访问google这类被zf禁止的网站了,我们在自己的电脑直接访问www.google.com的域名是没法访问的,但是我们可以通过一些提供VPN服务的公司进行上网,使用VPN能上网就是因为VPN软件会将我们本机访问google的交易请求转发到了VPN在境外的正向代理服务器,正向代理服务器收到请求后会将请求转发到google服务器,这样就很简单的解决了无法访问境外被禁网站的问题,这么一说大家应该就理解什么是正向代理了。
一句话说明正向代理就是正向代理隐藏客户端
反向代理
下面再来说明下反向代理的过程,反向代理是最容易被人误解的一种代理方式,很多同学从字面上理解以为反向代理就是服务端通过代理服务器访问客户端。。。其实这是完全错误的理解,其实网络里讲的正向代理和反向代理指的是对客户端代理还是服务端代理。
从图中我们可以看到反向代理隐藏了真实的服务端,类似负载均衡器,把后面具体提供服务的那台服务器给隐藏了,客户端访问的时候不知道访问的具体是哪台服务器,反向代理服务器会将请求负载均衡分发到不同的服务节点上。nginx是非常好的反向代理服务器,所以我们也经常用Nginx做为负载均衡来使用。
一句话说明反向代理就是反向代理隐藏服务端
总结
通过上面两段分别对正向代理和反向代理的图文解释,大家应该能够比较好的理解正向代理和反向代理了,然后再记住一句话正向代理隐藏客户端,反向代理隐藏服务端
,那以后就不会再搞混了,而且也能从原理上理解这两种网络代理的区别。