一、代理服务器的介绍
代理服务器是介于浏览器和Web服务器之间的一台服务器,功能是代理用户去取得网络信息。网络信息则是通过代理服务器进程中转的。
代理服务器在OSI模型的对话层,从而起到防护墙的作用,代理服务器大多被用来连接国际互联网和企业内部局域网。
国际互联网是采用正向代理,企业内部局域网是采用反向代理。
代理服务器就像一个中转站,存在于客户端和服务器之间。
当客户端向服务器发送一个请求时,代理服务器就会先得到这个请求,如果此时代理服务器已经存在客户端所要的资源,那么此时代理服务器就会将客户端所要的资源返回,如果没有,就会向服务器中查找,然后服务器将资源返回到代理服务器,代理服务器将资源缓存到本地,再将资源给客户端。
那么,代理服务器的角色是什么呢?
对于客户端来说,代理服务器扮演的是服务器的角色,客户端向代理服务器请求资源,代理服务器返回资源。
对于服务器来说,代理服务器扮演的是客户端的角色,将客户端的请求报文转发给目标服务器。
代理服务器的种类
(1)FTP代理服务器
主要用于访问FTP服务器,一般有上传、下载、缓存的功能。端口号一般为21、2121等。
(2)HTTP代理服务器
主要用于访问网页,一般有内容过滤和缓存功能。端口号一般为80、8080、3128.
(3)SSL/TLS代理
主要用于访问加密网站,一般有SSL或TLS加密功能,最高支持128位加密强度。端口号一般为443.
(4)TSP代理
主要用于Realplayer访问Real流媒体服务器,一把有缓存功能。端口号一般为554.
(5)Telnet代理
主要用于telnet远程控制,黑客入侵计算机时常用于隐藏身份。端口号一般为23.
(6)SOCKS代理
单纯传递数据包,不关心具体协议和用法,速度快,一般具有缓存功能。端口号为1080.
二、代理技术
常用的代理技术分为正向代理和反向代理。
1.正向代理
用户A需要从服务器B中取得数据,需要经过代理服务器Z.
具体流程:
(1)用户A向代理服务器Z发送一个请求并指定目标服务器B;
(2)代理服务器Z将用户A的请求提交给服务器B;
(3)服务器B将内容按照请求访问时的流程反方向返回。
注意:在这个过程中,客户端必须经过一些设置才能使用正向代理,正向代理的代理对象是客户端。
默认情况下,都是正向代理。
2.反向代理
从客户端的角度看,中间是没有任何代理的,是直接访问的是目标域名。
例如:在浏览器访问www.baidu.com,我们是客户端,输入域名,我们感觉是直接访问到的,但事实上是客户端的数据请求发送到了百度内部的代理服务器上,然后再交由代理交给后端的服务器群上,我们用户是不知道这个过程的,这也是我们通常上网的形式。
从服务器的角度看,通常一个企业会用到代理服务器为内部的web服务器池群提供负载均衡,还可以启用高级URL策略和管理技术,从而使处于不同web服务池群的web页面同时存在于同一个url空间下,从而对外提供服务。也就是可以通过前端的代理服务器将后端的服务器提供给Internet上的用户,此时代理服务器对外就表现为一个服务器。
注意:代理服务器并没有保存任何网页的真实数据,所有的静态网页或者CGI程序,都保存在内部的Web服务器上。
因此,对反向代理服务器的攻击并不会使得网页信息遭到破坏,就增强了Web服务器的安全性。
3.小结
从原理上来说,代理服务器都是处理来自客户端的请求,并将其转发到目的服务器上,并没有真正意义上的正向和反向之分,主要是看代理服务器处在一个什么服务阶段,以及代理对象是谁。
举个例子,有A,B,C三个人,正向代理是A通过B向C借钱,反向代理则是A向B借钱,然后B向C借钱,但A是不知道有C的存在的。
三、代理服务器的功能
(1)提高访问速度
代理服务器一般具有一大块的缓冲区,当有信息通过时,代理服务器会将信息缓冲到缓冲区里,当再次请求相同的信息时,就会从缓冲区里直接拿,这样就提高了访问速度,节约了通信带宽。
(2)共享网络
代理服务器可以共享上网,其实我们不知不觉在使用,有的系统自带网络共享,可以提供企业级的文件缓存、复制和地址过滤等服务,充分利用局域网出口的有限带宽,加快用户的访问速度,可以解决仅仅有一条线路一个IP,IP资源不足。同时也可以做为一个防火墙,隔离内网与外网,并且能提供监视网络和记录传输信息的功能,加强了局域网的安全性,又便于上网对用户进行管理。
(3)突破下载限制
互联网上有很多开发的代理服务器,客户在访问权限受到限制时,而这些代理服务器的访问权限是不受限制的,刚好代理服务器在客户的访问范围之内,那么客户通过代理服务器访问目标网站就成为可能。通过代理服务器,国内高校使用教育网就能实现访问因特网,这就是高校代理服务器流向的原因所在。
(4)掩藏身份
黑客的很多功能都是通过代理服务器,比如扫描、刺探,对局域网内机器进行渗透,黑客一般攻击时都是中转了很多级跳板,才攻击目标机器。隐藏了身份,保证了自己的安全。反之,代理服务器使内部资源访问受到保护,内部网的用户要求对外发布信息就需要使用代理服务器的反向代理功能。这样就不会影响到内部网路的安全性,起到隐藏身份的目的。
(5)防止攻击
隐藏自己的真实地址信息,还可以隐藏自己的IP,防止被黑客攻击。通过分析指定IP地址,可以查询到网络用户的目前所在地。