正向代理(Forward Proxy)

正向代理通常直接称为代理(Proxy),也就是日常情景下使用的各种BrupSuite、梯子等的代理,需要我们手动进行配置。

代理的作用

  • 便于安全审计:所有流量经过一台代理服务器,那么安全审计就容易得多
  • 加速访问/节省带宽:代理服务器可以返回缓存好的内容,无需向外网发出请求,从而加快访问速度、节省带宽
  • 保护个人信息:使用代理隐藏自己的真实IP地址
  • 突破访问限制:有时自己的地址被禁止访问,可以连接白名单上的代理服务器来进行访问

反向代理((Reverse Proxy)

个人理解:类似于计算机网络中的NAT(网络地址转发)技术。用户并不知道自己被“反向代理”了,反向代理服务器(如Nginx)接收到请求后,转发给Web服务器(如Apache)进行处理。

为了方便阅读,此处开始用Nginx来指代反向代理服务器

反向代理作用

  • 负载均衡:访问压力大时,Nginx可以将请求分配给多个不同的Web服务器进行处理,而用户访问的地址仍然是相同的地址(即Nginx服务器的地址)
  • 提高安全性:Web服务器对外不可见,此时Nginx相当于一个防火墙
  • 节省IP资源:如上述对反向代理的个人理解所说,类似于NAT,能够节省IP资源
  • 加速访问:Nginx同样可以缓存网页内容

总结

可以理解为:

  • 正向代理是面向用户的代理
  • 反向代理是面向服务器的代理,对用户透明(也就是说把服务器也当成用户,服务器在给用户返回请求时自己挂了一个代理)

参考

https://zhuanlan.zhihu.com/p/464965616

https://www.zhihu.com/question/388303662

https://zhuanlan.zhihu.com/p/486180243