nginx关于正向代理与反向代理的概念区分
正向代理:如果把局域网外的 Internet 想象成一个巨大的资源库,则局域网中的客户端要访问 Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。
反向代理
反向代理中客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端。
此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器 IP 地址。
为什么需要一个反向代理服务器作为一个桥梁呢?考虑这种情况:出于安全的考虑,我们不想把 Server 直接暴露出来,而是放在内网中。这时 Client 在外网无法就无法 Server 了。因此,我们就可以添加一台中间服务器,连接内外网,这样就可以允许外网用户访问,同时可作为防火墙对外部请求进行限制,提高内部服务器的安全性。
除了防火墙外,反向代理服务器还有一个典型的用途就是作为负载均衡服务器,根据目标服务器的工作负荷情况,将请求分发到合适的服务器。
总结
正向代理和反向代理区别总结如下:
- 正向代理是对客户端的代理,由客户端设立,客户端了解代理服务器和目标服务器,但目标服务器不了解真正的客户端是谁;使用正向代理可达到 突破访问限制、提高访问速度、对服务器隐藏客户端IP等目的;
- 反向代理是对服务器的代理,由服务器设立,客户端不了解真正的服务器是谁,使用反向代理可达到负载均衡、保障服务端安全、对客户端隐藏服务器IP等目的。