代理和反向代理

191 阅读2分钟

代理服务器

位于客户端和服务器端之间的软件或硬件服务器,客户端连接到代理以请求真实服务器的连接

从本质上讲,代理服务器(又名转发代理)是一种软件或硬件,可以代表客户端促进从其它服务器请求资源,从而使客户端与服务器匿名

代理用于缓存数据,过滤请求,记录请求或转换请求(通过添加/删除标头、加密/解密或压缩资源)

可以通过代表客户端发送请求,在服务器隐藏客户端的身份

image.png

作用

  1. 缓存 image.png
  2. 匿名 image.png
  3. 访问控制 image.png
  4. 访问记录 image.png

反向代理

反向代理,代表的是服务器,在客户端看来,反向代理就是一个普通的服务器

反向代理将请求转发到一个或多个处理请求的普通服务器上,返回来自普通服务器的响应,就好像它直接来自原始服务器一样,让客户端不知道原始服务器的身份

image.png

作用

  1. 缓存 image.png
  2. 匿名 代理最明显的能力就是匿名能力,反向代理也有匿名的作用,到那时反向代理和代理的匿名有所区别,反向代理的匿名是为了让客户端不知道最终的服务器的身份,可以防止客户端的DDoS攻击

image.png 3. 负载均衡 可以使用一些负载均衡算法,帮助在服务器之间均匀分配流量,从而提高可靠性和可用性 image.png 4. 灰度发布

按照特定的模式,请求到不同的服务器上,比如10%的流量到新服务

  1. 路由功能

反向代理还可以作为微服务架构中的网关或者路由,例如,如果客户端要查询juejin.com的推荐文章,它会将请求路由到服务1,该服务器提供推荐文章查询服务,如果客户端是发布一篇新文章,则路由到服务器2,该服务提供文章发布功能。