如何理解正向代理以及反向代理

如今只要提到服务器,都离不开一个词,叫反向代理。听到这个词的时候很莫名,反向代理到底是什么东西,为什么要在服务器上加反向代理?

要介绍反向代理,首先要来说说什么是正向代理。

正向代理

所谓的正向代理,其实就是我们平时所说到的代理。最简单易懂的例子就是,翻墙。我们知道要越过GFW,访问墙外的世界,就必须有一台国外的服务器作为跳板才行。这台国外的服务器就叫代理服务器,代理墙内用户对墙外网站访问的请求,最后将响应的结果返回给墙内用户。

正向代理的目的是为了隐藏客户端的信息,让服务器无从知晓到底是谁对服务器发起的请求。一些爬虫程序和一些恶意攻击者都喜欢使用代理技术。墙内用户表示,没办法逼不得已才使用了代理。

反向代理

介绍完正向代理之后,接下来就要好好说说反向代理。反向代理顾名思义,指的就是反向相反的代理,即代理对象发生了变化。原来代理的对象是客户端,如今变成了服务器。那么为什么要反向代理呢?或者说反向代理有什么好处呢?

第一,负载均衡。当单个服务器无法承受大量用户请求的时候,就要考虑使用负载均衡的技术。所谓的负载均衡,指的就是由多个服务器组成的集群。当客户端访问反向代理服务器时,反向代理服务器会把请求转发到服务器集群里距离客户端最近的服务器。如此一来,当集群越大的时候,客户请求也就被处理地更分散,从而实现了负载均衡。

第二,保护和隐藏服务器。

由于用户访问的是反向代理服务器,而真正的请求由反向代理服务器去决定到底最终请求的是集群里的哪台服务器。如此,就可以实现保护和隐藏服务器的功能了。对于用户来讲,不需要关心到底请求哪台服务器,交给反向代理服务器就行了。对于那些想要获取服务器信息的人而言,由于无法获取真实服务器的地址,从而就可以保护这些服务器不被人攻击。

总结

到这里,正向代理和反向代理的基础知识介绍的差不多了。下次再有人提起反向代理的时候,一定要记住,反向代理里的两点。

avatar

chilihotpot

You Are The JavaScript In My HTML