反向代理和端口转发的区别

网络工程 路由器 联网 转发端口 代理
2022-02-28 01:53:48

好吧,反向代理和端口转发都会查找发往本地网络中存在的特定机器的任何传入数据包。他们两个有什么不同?

3个回答

端口转发描述了第 4 层机制,对 TCP 连接或 UDP 数据包进行操作,而不必了解应用程序数据。

反向代理建议使用更高层(这是 OSI 模型不直接映射到 TCP/IP 的地方)应用程序感知代理。过去,代理服务器最常用于用户和 Internet 之间。所以reverse表示相反的方式,用于代理从 Internet 到服务器的流量。

虽然这两种方法看起来很相似,但它们在技术上完全不同。

代理接受套接字连接并以某种方式满足客户端请求。通常,它会向指定的服务器创建自己的请求。

迄今为止最常见的示例是HTTP 代理,它接受来自客户端的 HTTP 请求,使用自己的 HTTP 请求来检索页面/对象,然后将数据转发给客户端。代理甚至可以转换应用层协议(例如 FTP over HTTP 代理),但它们始终是特定于应用程序的,这使得它们也可以感知应用程序。在 NAT 普及之前,代理被广泛用于私有到公共的 Internet 访问。它们还可用于缓存或更深入地了解应用程序协议(应用层网关、恶意软件扫描、内容过滤……)。

反向代理使用方式相反:私有 LAN 内的服务器的公共访问。由于代理了解应用程序协议,因此它可以用作多个暴露服务器的单个入口点,尤其是 HTTP。反向代理可以具有多种功能,包括

  • 缓存
  • 跨多个后备服务器的负载平衡
  • 端口共享(使用相同的公共 IP 地址和传输层端口号访问多个 Web 服务器,由主机头区分)
  • 将 SSL 卸载到代理
  • 应用层网关/过滤

端口转发目标 NAT又名反向 NAT的另一个术语,有时也称为虚拟 IP:路由器将数据包的公共目标地址转换为实际的私有地址,以便从 Internet 访问私有地址的服务器。与代理相比,NAT 路由器不知道当前使用的应用程序协议。它只转换 IP 地址和可能的传输层 (L4) 端口号。

这样,就不可能使用单个公共 IP 地址和 L4 端口启用对多个私有服务器的公共访问 - 您需要拥有多个公共地址或使用多个端口。

反向代理

反向代理帮助从外部网络到部署在内部网络中的服务器的客户端流量在后端服务器上平均分配负载。基本上反向代理是在防火墙后面引入的,并且不止一台后端服务器连接到反向代理。

转发端口

端口转发是网络中使用的技术术语。当客户端想要访问部署在防火墙后面特定服务端口上的服务器时。由于服务器位于防火墙后面,由于防火墙的限制,客户端无法访问服务器。为了允许此连接端口开放,需要在特定端口上从客户端 IP 地址到服务器 IP 地址,此策略在防火墙中配置称为端口转发。