当前位置: 首页 > news >正文

正向代理、反向代理

代理作为客户端和服务器的中间层,按照不同的维度可以分为不同的类型。

一种常见的划分方式是将代理分为正向代理(forward proxy)与反向代理(reverse proxy)。

根据实现代理的方式可以分为 HTTP 隧道代理、MITM 代理、透明代理。

根据代理协议的类型,又可以分为 HTTP 代理、HTTPS 代理、SOCKS 代理、TCP 代理等。

1. 正向代理

当我们谈论代理服务器时,通常指的就是正向代理。正向代理会向一个客户端或一组客户端提供代理服务。通常,这些客户端属于同一个内部网络。当客户端尝试访问外部服务器时,请求必须首先通过正向代理。

可是我们为什么需要这多余的中间层呢?因为正向代理能够监控每一个请求与回复,鉴权、控制访问权限并隐藏客户端实际地址。隐藏了客户端的真实地址之后,正向代理可以绕过一些机构的网络限制,这样一些互联网用户就实现了匿名性。

forwared

2. 反向代理

与正向代理不同的是,反向代理位于服务器的前方,客户端不能直接与服务器进行通信,需要通过反向代理。我们比较熟悉的 Nginx 一般就是用于实现反向代理的。

1.客户端(User):一个想要访问网站的用户。
2.反向代理服务器:一个为多个后端服务器进行统一出入访问和请求分发的服务器。
3.后端服务器:实际处理请求并返回数据的服务器。
在这个场景中,用户通过互联网访问一个网站的URL,如用户在浏览器输入 http://www.example.com
4.用户的请求首先到达反向代理服务器。这个服务器对外是一个单一的入口点。
5.反向代理服务器根据配置的规则(例如请求的URL或内容类型)以及负载均衡策略将请求转发到一个或多个后端服务器 上。
6.一个或多个后端服务器处理请求,并生成响应。
7.响应回到反向代理服务器,再由反向代理服务器分发响应回到原始请求的客户端
在这里插入图片描述

可以认为:正向代理不知道客户端是谁,反向代理不知道服务器端是谁

反向代理可以带来下面几个好处。

  • 负载均衡

对于大型分布式系统来说,反向代理可以提供一种负载均衡解决方案,在不同服务器之间平均分配传入流量,防止单个服务器过载。如果某台服务器完全无法运转,可以将流量转发到其他服务器。

  • 防范攻击

配备反向代理后,服务器无需暴露真实的 IP 地址,这就让攻击者难以进行针对性攻击(例如 DDoS 攻击),同时,反向代理通常还拥有更高的安全性和更多抵御网络攻击的资源。

  • 缓存

代理服务器可以缓存(或临时保存)服务器的响应数据(即使服务器在千里之外),大大加快请求的速度。

  • SSL 加密解密

反向代理可以对客户端发出的 HTTPS 请求进行解密,对服务器发出的 HTTP 请求进行加密,从而节约目标服务器资源。


http://www.mrgr.cn/news/18226.html

相关文章:

  • 一文弄懂PCIe总线
  • 3. MyBatis 执行原理了解吗?
  • 【C语言】十六进制、二进制、字节、位、指针、数组
  • K8s搭建过程,新手闭眼入!!!超详细教程
  • Win10桌面出现Removable Storage Devices文件夹无法删除
  • python3 whl怎么安装
  • 搭建nmt部署考试系统
  • 【数据结构】Map的使用与注意事项
  • 【无标题】无题 面向对象之封装 无语!
  • 除尘雾炮机的使用成本高吗?
  • 【Java】继承性-方法的重写【主线学习笔记】
  • 2024.9.2 Python,用栈写每日温度,等差数列划分,子串所有可能性,等差数列划分,深度优先搜索解决累加数
  • 【C++】手动实现String类的封装(分文件编译)
  • 【Rust光年纪】化学计算不完全指南:Rust语言库全面解析
  • emmc协议
  • 【计算机网络复习资料】
  • 剪映剪辑影视视频字幕声音批量自动对齐教程
  • 递归 与 dfs 综合练习(四)
  • 中小企业怎么选择MES:专用MES、集成MES和可配置MES
  • 栈和队列