码上敲享录 > nginx面试题 > 什么是正向代理和反向代理?

什么是正向代理和反向代理?

上一章章节目录下一章 2023-07-20已有348人阅读 评论(0)

正向代理和反向代理是常见的代理服务器架构,它们在网络通信中扮演不同的角色:


1. **正向代理**(Forward Proxy):在正向代理架构中,代理服务器代表客户端发送请求,以获取目标服务器上的资源。客户端向代理服务器发送请求,代理服务器代表客户端与目标服务器进行通信,并将响应返回给客户端。客户端通常不知道目标服务器的存在,也不会直接与目标服务器通信。正向代理常用于通过防火墙或代理服务器访问互联网、绕过访问限制、隐藏真实客户端 IP 地址等场景。


   ![Forward Proxy Diagram](https://i.imgur.com/rf2maBk.png)


2. **反向代理**(Reverse Proxy):在反向代理架构中,代理服务器代表目标服务器接收请求,并将请求转发到后端的多个服务器上。客户端向反向代理服务器发送请求,反向代理服务器根据一定的负载均衡算法选择后端服务器,然后将请求转发到后端服务器上,并将后端服务器的响应返回给客户端。客户端无法感知到实际提供服务的后端服务器。反向代理常用于负载均衡、缓存静态内容、SSL 终结、安全过滤等用途。


   ![Reverse Proxy Diagram](https://i.imgur.com/CVwsyFc.png)


正向代理和反向代理的区别在于代理服务器与客户端和目标服务器的关系不同。在正向代理中,代理服务器代表客户端发送请求,隐藏客户端身份;而在反向代理中,代理服务器代表目标服务器接收请求,隐藏了目标服务器的身份和拓扑结构。


需要注意的是,正向代理和反向代理都是中间层的服务器,它们可以提供负载均衡、缓存、安全过滤等功能。但是它们的作用方向相反,正向代理是代表客户端访问服务,反向代理是代表服务响应客户端。


0

有建议,请留言!

  • *您的姓名:

  • *所在城市:

  • *您的联系电话:

    *您的QQ:

  • 咨询问题:

  • 提 交