“代理服务器”这一个词相信大多数人不陌生。
在看到nginx有反向代理功能之后,我查了下资料,才发现之前我理解的代理指的是正向代理。
以下是我结合查找的资料做出的总结笔记:
一.什么是正向代理和反向代理
简单来说:
正向代理:客户端知道服务端,通过代理端连接服务端。
反向代理:所谓反向,是对正向而言的。服务端知道客户端,客户端不知道服务端,通过代理端连接服务端。
具体来说:
正向代理:一般只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。
举个例子:A想访问网站B(但是B被墙掉了),而C可以访问B,于是C可以作为代理服务器,A把请求发给C,然后C把请求发给B,再把结果返回给A。在这个过程中,B并不知道A的存在(C不告诉B的话)。
反向代理(Reverse Proxy):指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
举个例子:A向B请求图片、视频等资源,在使用反向代理的情况下,表面上看,A获得的这些资源都是从B发出来的,但实际上,B上并没有这些资源,假如B后面分别有图片服务器C和视频服务器D,那么B将A的请求转发给C和D,得到数据后再返回给A。在这个过程中,A并不知道C和D的存在。
一张图总结:
二.用途
正向代理的主要功能有:
- 突破自身IP访问限制,访问国外站点;
- 访问一些单位或团体内部资源;
- 提高访问速度:通常代理服务器都设置一个较大的硬盘缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时, 则直接由缓冲区中取出信息,传给用户,以提高访问速度;
- 隐藏真实IP:上网者也可以通过这种方法隐藏自己的IP,免受攻击;
- 节省IP开销:内部网络使用私有IP,对外只需要一个共有IP;
- 充当防火墙(Firewall):因为所有内部网的用户通过代理服务器访问外界时,只映射为一个IP地址,所以外界不能直接访问到内部网。
……
反向代理的主要功能有:
- 负载均衡,将用户请求分配给多个服务器;
- 访问控制,可以配置防火墙路由器,使其只允许特定端口上的特定服务器(比如代理服务器)有权通过防火墙进行访问,而不允许其他任何机器进出。
……
本文只做一般性的扫盲介绍,不做深入探讨~如果想了解更多关于代理服务器的知识,可自行查找资料哈~