0%

反向代理与正向代理

反向代理与正向代理

面试中经常会问到 Nginx 的反向代理是什么意思,理解这个问题首先要知道什么是正向代理,反向代理就是正向代理的反方向.

正向代理

客户端不直接访问服务器,而是访问代理服务器,代理服务器再去访问服务器,并把结果返回给客户端,这就是正向代理,**发起者也就是需要代理服务的客户端.**比如我们手机或者电脑需要访问外网,这个时候就需要一个能访问外网的代理服务器,也就是 SS 服务器,这个时候SS 对我们来说就是一个正向代理服务,我们访问 SS 服务器,它帮我们去访问外网,再把我们要的资料返回给我们.

正向代理的用途

  1. 访问原来无法访问的资源,如google,公司对外开放的 VPN 服务器
  2. 可以做缓存,加速访问资源
  3. 对客户端访问授权,上网进行认证(例如网吧,学校)
  4. 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

反向代理

刚好和正向代理相反是就是反向代理,我们搭建反向代理服务器不是为了访问其他服务器,而是为了让其他客户端更好的访问我们自己的服务器.例如负载均衡服务,对外设置一个方向代理服务器,外网客户端访问我们的资源时,方向代理服务器就可以动态的选择客户端访问的内网资源.

反向代理的用途

  1. 保证内网的安全,可以使用反向代理提供WAF功能,阻止web攻击
  2. 负载均衡,通过反向代理服务器来优化网站的负载

区别

这里用2张图来表达一下

总结: 正向代理代理的对象是客户端,反向代理代理的对象是服务端