原文来源:http://www.qjshe.com/
正向代理与反向代理
1.正向代理
1.1概念
** 【百度百科】**正向代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。
1.2解释
结合下面的正向代理结构图来看,“一个位于客户端和原始服务器\(origin server\)之间的服务器”就是图中所示正向代理服务器,“原始服务器”就是图中所示的谷歌网站,百度网站,等等。在内网中\(如公司内部局域网,校园内部局域网\),用户在访问外部网络时,将请求信息发送给代理服务器,代理服务器处理传送过来的请求,然后去请求互联网上的资源(或者禁止客户端访问),代理服务器获取的资源后再返回给用户客户端。这种通过代理客户端访问互联网的方式称为正向代理。
1.3用途
1.访问原来无法访问的资源,比如通过vpn代理访问谷歌,推特,脸书等外国网站。
2.可以做缓存,加速访问资源。
3.对客户端访问授权,比如校园网的账号认证。
4.代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息
5.安全过滤,防火墙过滤用户的非法请求及外部的恶意攻击。

2.反向代理
2.1概念
** 【百度百科】**反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
2.2解释
结合上下图,你会发现反向代理与正向代理的流程是反过来的。例如站点139.196.96.205,使用nginx服务进行反向代理,当有n个用户对该站点发起请求时,代理服务器按照一定的算法将请求分别转发给web服务器1,web服务器2,web服务器3。web服务器处理完请求后将结果返回给代理服务器,代理服务器再将结果返回给客户端,这种通过代理服务器接收来至Internet请求并转发给其他服务器处理的方式称为反向代理。
2.3用途
1.安全防护,利用WAF功能阻挡web攻击
2.负载均衡,nginx负载均衡,多台服务器处理请求,减轻网站压力
3.动静分离,利用反向代理将动态处理交给性能更稳定的apache,静态处理交给性能更高的nginx来做。
