代理服务器
(重定向自代理软件)
代理(英語:Proxy)也称网络代理,是一种特殊的网络服务,允许一个终端(一般为客户端)通过这个服务与另一个终端(一般为服务器)进行非直接的连接。一些网关、路由器等网络设备具备网络代理功能。一般認為代理服务有利于保障网络終端的私隱或安全,在一定程度上能够阻止网络攻击。
提供代理服务的電腦系统或其它类型的网络终端称为代理服务器。一个完整的代理请求过程为:客户端首先根据代理服务器所使用的代理协议,与代理服务器建立连接,接着按照协议请求对目标服务器建立连接、或者获得目标服务器的指定资源(如:文件)。在后一种情况中,代理服务器可能对目标服务器的资源下載至本地缓存,如果客户端所要获取的资源在代理服务器的缓存之中,则代理服务器并不会向目标服务器发送请求,而是直接傳回已缓存的资源。一些代理协议允许代理服务器改变客户端的原始请求、目标服务器的原始响应,以满足代理协议的需要。
另外在部分实行网络审查的国家(如中华人民共和国),可以通过使用代理服务器的方式以突破网络审查(俗称“翻墙”)
持有资源实体的服务器被称为源服务器,从源服务器返回的响应经过代理服务器后再传给客户端。
代理协议
Socks
HTTP
功能
- 提高访问速度
- 通常代理服务器都设置一个较大的缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时, 则直接由缓冲区中取出信息,传给用户,以提高访问速度。
- 控制对内部资源的访问
- 如某大学FTP(前提是该代理地址在该资源的允许访问范围之内),使用教育网内地址段免费代理服务器,就可以用于对教育网开放的各类FTP下载上传,以及各类资料查询共享等服务。
- 过滤内容
- 例如限制对特定计算机的访问,将一种语言的数据翻译成另一种语言[需要解释],或是防御代理服务器两边的攻击性访问。
- 隐藏真实IP
- 上网者也可以通过代理服务器隐藏自己的IP,但是只有一个代理很难保证安全,更安全的方法是利用特定的工具建立代理链(如:Tor網路)。
- 突破网站的区域限制
- 通过代理服务器访问Netflix、Google等对中国地區進行內容限制(如防火长城)的网站;非中国大陆用户也可通过代理服务器访问爱奇艺等版权仅授予中国大陆地区的网站。
- 突破网络审查,访问被过滤网站
- 如防火長城對中國境內互聯網存取的限制可透過使用代理服务器绕过。(俗称「翻墙」、“科学上网”等)
种类
根据协议区分
- RTSP代理
- 主要用于Real Player访问Real流媒体服务器,一般有缓存功能。端口一般为554。
- Telnet代理
- 主要用于Telnet远程控制(黑客入侵计算机时常用于隐藏身份)。端口一般为23。
- SOCKS代理
- 只是单纯传递数据包,不关心具体协议和用法,所以速度快很多。端口一般为1080。
根据匿名程度区分
- 高度匿名代理
- 高度匿名代理会将数据包原封不动的转发,在服务端看来就好像真的是一个普通客户端在访问,而记录的IP是代理服务器的IP。
- 普通匿名代理
- 普通匿名代理会在数据包上做一些改动,服务端上有可能发现这是个代理服务器,也有一定几率追查到客户端的真实IP。代理服务器通常会加入的HTTP头有HTTP_VIA和HTTP_X_FORWARDED_FOR 。
- 透明代理
- 透明代理不但改动了数据包,还会告诉服务器客户端的真实IP。这种代理除了能用缓存技术提高浏览速度,能用内容过滤提高安全性之外,并無其他顯著作用。(最常见的例子是:内网中的硬件防火墙)
- 间谍代理
- 间谍代理指组织或个人建立的,用于记录使用者传输的数据,然后进行研究、监控等目的代理服务器。
反向代理服务器
反向代理服务器架设在服务器端,通过缓冲经常被请求的页面来缓解服务器(如Web服务器)的工作量。安装反向代理服务器有几个原因:
- 负载平衡
- 缓存静态内容
- 压缩数据
- 外网发布