本页使用了标题或全文手工转换

反向代理

维基百科,自由的百科全书
跳转至: 导航搜索
将互联网与内网连接起来的代理服务器。
互联网中的请求发送给反向代理,反向代理把请求转发到内网中的服务器。

电脑网路中,反向代理代理伺服器的一种。伺服器根据客户端的请求,从其关联的一组或多组后端服务器(如Web服务器)上获取资源,然后再将这些资源返回给客户端,客户端只会得知反向代理的IP位址,而不知道在代理伺服器后面的伺服器丛集的存在[1]

前向代理不同,前向代理作为客户端的代理,将从互联网上获取的资源返回给一个或多个的客户端,伺服器端(如Web服务器)只知道代理的IP位址而不知道客户端的IP位址;而反向代理是作为服务器端(如Web服务器)的代理使用,而不是客户端。客户端借由前向代理可以间接访问很多不同网际网路伺服器(丛集)的资源,而反向代理是供很多客户端都通过它间接访问不同后端服务器上的资源,而不需要知道这些后端服务器的存在,而以为所有资源都来自于这个反向代理服务器。

反向代理在现时的网际网路中并不少见,而另一些例子,像是CDN、SNI代理等,是反向代理结合DNS的一类延伸应用。

功能[编辑]

反向代理的主要作用为:

  • 对客户端隐藏伺服器(丛集)的IP位址
  • 安全:作为应用层防火墙,为网站提供对基于Web的攻击行为(例如DoS/DDoS)的防护,更容易排查恶意软体
  • 为后端伺服器(丛集)统一提供加密和SSL加速(如SSL终端代理)
  • 负载均衡,若伺服器丛集中有负荷较高者,反向代理通过URL重写,根据连线请求从负荷较低者获取与所需相同的资源或备援
  • 对于静态内容及短时间内有大量存取请求的动态内容提供快取服务
  • 对一些内容进行压缩,以节约频宽或为网路频宽不佳的网路提供服务
  • 减速上传
  • 为在私有网路下(如区域网路)的伺服器丛集提供NAT穿透及外网发布服务
  • 提供HTTP存取认证[2]
  • 突破互联网封锁(不常用,因为反向代理与客户端之间的连线不一定是加密连线,非加密连线仍有遭内容审查进而遭封禁的风险;此外面对针对网域名称关键字过滤DNS快取污染/投毒攻击乃至深度封包检测也无能为力)

常见反向代理软体[编辑]

另见[编辑]

参考文献[编辑]

  1. ^ Forward and reverse proxies. The Apache Software Foundation. [2011-02-09]. 
  2. ^ Possible to add basic HTTP access authentication via HAProxy?. serverfault.com.