代理那些事

在工作中经常碰到代理这个词,自己也尝试过几次使用ngnix配置代理,但代理到底是啥?如何工作?正向代理反向代理有什么区别?

为什么使用代理服务器

提高访问速度

由于目标主机返回的数据会存放在代理服务器的硬盘中,因此下一次客户再访问相同的站点数据时,会直接从代理服务器的硬盘中读取,起到了缓存的作用,尤其对于热门网站能明显提高访问速度。

**防火墙作用 **

由于所有的客户机请求都必须通过代理服务器访问远程站点,因此可以在代理服务器上设限,过滤掉某些不安全信息。同时正向代理中上网者可以隐藏自己的IP,免受攻击。

突破访问限制

互联网上有许多开发的代理服务器,客户机在访问受限时,可通过不受限的代理服务器访问目标站点,通俗说,我们使用的翻墙浏览器就是利用了代理服务器,可以直接访问外网。

正向代理

为什么需要正向代理?

假如你想访问某个网站(例如:google、facebook),但尝试访问后页面显示——无法访问此网址,这时候想起有一台服务器可以访问这些你无法访问的网站。

于是你可能想到直接远程到这台服务器就能google啦,时间久了你就可能觉得每次远程也是挺麻烦的,于是你又想,能不能我的电脑访问这台服务器,然后这台服务器去帮我请求google,然后把请求到的数据返回给我。设想是这样的:

这个过程就是正向代理,正向代理类似一个跳板机,代理客户端去访问外部资源。从网站的角度,只在代理服务器来请求的时候有一次记录,并不知道真正请求的用户,隐藏了用户资料。

访问原来无法访问的资源,如google。

可以做缓存,加速访问资源。

对客户端访问授权,上网进行认证。

代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息。

正向代理是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。

反向代理

为什么需要反向代理?

举例场景:单个服务器的处理客户端(用户)请求能力有一个极限,当用户的接入请求蜂拥而入时,会造成服务器忙不过来的局面,此时,你可能想增加服务器数量,这些服务器提供相同的服务,那如何让多个服务器来共同分担成千上万的用户请求?

反向代理就派上用场啦,设置一个负载均衡代理服务器来分发用户请求,将用户请求分发到空闲的服务器上并将取得的请求结果返回给用户。用户和负载均衡代理服务器直接通信,也意味着用户做服务器域名解析时,解析得到的IP其实是负载均衡代理服务器的IP,而不是真实服务器的IP,这样有一个好处是,当新加入/移走服务器时,仅仅需要修改负载均衡的服务器列表,而不会影响现有的服务。而客户端是无感知代理的存在的,反向代理对外都是透明的,访问者者并不知道自己访问的是一个代理。

可以提供从防火墙外部代理服务器到防火墙内部安全内容服务器的加密连接。

保证内网的安全,可以使用反向代理提供WAF功能,阻止web攻击。大型网站,通常将反向代理作为公网访问地址,Web服务器是内网。

负载均衡,通过反向代理服务器来优化网站的负载。

缓存服务,减少服务器压力,提高访问速度。

与正向代理相反,反向代理代理的是服务端,反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的用户连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

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

位置不同

**正向代理:**架设在客户端和目标主机之间,需要在客户端进行设置。

**反向代理:**架设在服务器端

代理对象不同

**正向代理:**代理客户端,服务端不知道实际发起请求的客户端

**反向代理:**代理服务端,客户端不知道实际提供服务的服务端

用途不同

**正向代理:**为在防火墙内的局域网客户端提供访问Internet的途径

**反向代理:**将防火墙后面的服务器提供给Internet访问

安全性不同

**正向代理:**允许客户端通过它访问任意网站并且隐藏客户端自身,因此必须采取安全措施以确保仅为授权的客户端提供服务。

**反向代理:**对外都是透明的,访问者并不知道自己访问的是哪一个代理。

**借用知乎上一张图来解释区别:
**反向代理为何叫反向代理? - 知乎

下图直观的解释了反向代理为何叫“反向”

正向代理中,proxy和client同属一个LAN,对server透明;

反向代理中,proxy和server同属一个LAN,对client透明。

实际上proxy在两种代理中做的事都是代为收发请求和响应,不过从结构上来看正好左右互换了下,所以把后出现的那种代理方式叫成了反向代理。

参考文献

参考资料:

https://www.cnblogs.com/Anker/p/6056540.html

转载自 360质量效能