nginx正反向代理

代理与反向代理

1. 正向代理
代理也被称为正向代理,是一个位于客户端和目标服务器之间的代理服务器,客户端将
发送的请求和指定的目标服务器提交给代理服务器,然后代理服务器向目标服务器发起请
求,并将获得的响应结果返回给客户端的过程,具体如下图所示。

nginx正反向代理
如果客户端没有访问目标服务器的权限,但是该用户可以访问代理服务器,且代理服务器又可以访问目标服务器,此时,客户端就可以通过代理服务完成相应的请求,使用户获取到目标服务器响应的内容 。
2. 反向代理
相对于代理服务,反向代理对于客户端而言就是目标服务器,客户端向反向代理服务器
发送请求后,反向代理服务器将该请求转发给内部网络上的后端服务器,并将从后端服务器
上得到的响应结果返回给客户端。具体过程如下图所示

nginx正反向代理

从上图可知,若用户A 、用户 B、用户 C 同时对反向代理服务器发送请求,反向代理服务器则根据其内部的具体配置,将用户的请求分发给后端服务器进行处理,并将后端服务器处理后的响应结果作为自己的响应结果返回给用户。反向代理服务器的整个处理过程,用户并不知情。因此,从上述对代理和反向代理的介绍可以总结出两者的特性,主要有以下几点

  • 安全性 正向代理的客户端能够在隐藏自身信息的同时访问任意网站,这给网络安全带来了极大的威胁。因此,在使用时必须采取安全措施以确保仅为经过授权的客户端用户提供服务;而反向代理的客户端用户只能通过外网来访问代理服务器,并且用户并不知道自己访问的是一个代理服务器,好处就是反向代理将真正的处理放在内网中,有效地提高了网络安全性;

  • 功能性 正向代理的主要用途是为在防火墙内的局域网用户提供访问 Internet途径 而反向代理的主要用途是将防火墙后的服务器提供给Internet 用户访问,还可以为多个后端服务器提供负载均衡功能、缓存功能等;