代理服务器和反向代理服务器之间的区别

代理服务器和反向代理服务器有什么区别?


以前的答案是准确的,但也许太简单了。 我会尝试添加一些例子。

首先,“代理”这个词描述某人或某人代表别人行事。

在计算机领域,我们正在谈论一台代表另一台计算机的服务器。

为了便于使用,我将讨论限制为网络代理 - 但是,代理的概念不限于网站。

FORWARD代理

Web代理的大多数讨论都是指称为“正向代理”的代理类型。

在这种情况下,代理事件是“正向代理”代表原始请求者从另一个网站检索数据。

3台电脑的故事(第一部分)

举个例子,我会列出连接到互联网的三台电脑。

  • X =您的电脑或互联网上的“客户端”电脑
  • Y =代理网站proxy.example.org
  • Z =您想要访问的网站www.example.net
  • 通常,可以直接从X --> Z.连接X --> Z.

    但是,在某些情况下, Y --> Z代表X ,最好是X --> Y --> Z

    X想要使用转发代理服务器的原因:

    以下是转发代理服务器使用的(非常)部分列表。

  • 1)X无法直接访问Z,因为

  • a)具有X互联网连接管理权限的人已决定阻止对网站Z所有访问。

  • 例子:

  • 风云蠕虫病毒通过诱骗人们访问familypostcards2008.com传播,因此系统管理员阻止访问该网站以防止用户无意中感染自己。

  • 一家大公司的员工在facebook.com上浪费了太多时间,因此管理层希望在工作时间内阻止访问。

  • 当地的一所小学不允许通过互联网访问playboy.com网站。

  • 政府无法控制新闻的发布,所以它通过阻止诸如wikipedia.org网站来控制对新闻的访问。 请参阅TOR或FreeNet。

  • b) Z的管理员阻止了X

  • 例子:

  • Z的管理员注意到来自X的黑客攻击,因此管理员决定阻止X的IP地址(和/或netrange)。

  • Z是论坛网站。 X正在垃圾邮件论坛。 Z块X.

  • REVERSE代理

    3台电脑的故事(第二部分)

    在这个例子中,我将列出连接到互联网的三台电脑。

  • X =您的电脑或互联网上的“客户端”电脑
  • Y =反向代理网站proxy.example.com
  • Z =您想要访问的网站www.example.net
  • 通常,可以直接从X --> Z.连接X --> Z.

    但是,在某些情况下, Z的管理员限制或不允许直接访问,并强制访问者先通过Y. 所以,和以前一样,我们有代表XY --> Z检索数据,它的链接如下: X --> Y --> Z

    与“正向代理”相比,这次的不同之处在于,这次用户X不知道他正在访问Z,因为用户X只看到他正在与Y通信。 服务器Z对客户端不可见,只有反向代理Y在外部可见。 反向代理在客户端不需要(代理)配置。

    客户X认为他只与YX --> Y )通信,但现实情况是Y转发所有通信( X --> Y --> Z再次)。

    Z想要设置反向代理服务器的原因:

  • 1)Z想要强制所有流量通过网站首先通过Y.
  • a)Z拥有数百万人希望看到的大型网站,但单个网络服务器无法处理所有流量。 因此,Z设置了许多服务器,并在互联网上放置了一个反向代理服务器,当用户尝试访问Z时将用户发送到离他们最近的服务器。这是内容分发网络(CDN)概念如何工作的一部分。
  • 例子:
  • Apple Trailers使用Akamai
  • Jquery.com使用CloudFront CDN托管其JavaScript文件(示例)。
  • 等等
  • 2)Z的管理员担心对服务器上托管的内容进行报复,并且不希望将主服务器直接暴露给公众。
  • a)像“加拿大药房”这样的垃圾邮件品牌的拥有者似乎拥有数千台服务器,而实际上大多数网站都托管在少得多的服务器上。 此外,有关垃圾邮件的滥用投诉只会关闭公共服务器,而不是主服务器。
  • 在上面的场景中, Z有能力选择Y

    链接到帖子中的主题:

    内容传送网络

  • CDN列表
  • http://www.mytestbox.com/miscellaneous/content-delivery-networks-cdn-list/
  • http://blog.streamingmedia.com/the_business_of_online_vi/2008/01/updated-list-of.html
  • 转发代理软件(服务器端)

  • CGI代理
  • phproxy(已停产)
  • glype
  • 互联网审查维基:网络代理列表
  • 鱿鱼(显然,也可以作为反向代理)
  • 用于HTTP的反向代理软件(服务器端)

  • apache mod_proxy(也可以作为HTTP的转发代理)
  • nginx(用于hulu.com,垃圾网站等)
  • HAProxy的
  • lighthttpd
  • perlbal(为livejournal撰写)
  • portfusion
  • 清漆缓存(由freebsd内核专家编写)
  • 休息
  • 用于TCP的反向代理软件(服务器端)

  • 平衡
  • 代表
  • 钢笔
  • portfusion
  • 纯粹的负载平衡器(网站不存在)
  • 蟒蛇导演
  • 也可以看看:

  • 维基百科 - 内容交付网络
  • 维基百科 - 分类:Reverse_proxy
  • 维基百科 - 负载平衡
  • 维基百科 - 可扩展性

  • 一对简单的定义是

    正向代理:代表请求者(或服务使用者)

    反向代理:代表服务/内容制作人。


    我发现这个图很有帮助。 它只是显示了Internet上从客户端到服务器的forwardreverse代理设置体系结构。 此图片将帮助您更好地理解qyb2zm302的帖子和其他帖子。

    转发代理与反向代理

    您也可以通过Peter Silva的F5DevCentral观看此视频。

    图片来源:Quora。 所有信用给创建此图的人。

    它让我想起了经典的谚语:

    一张图片胜过1000字。

    链接地址: http://www.djcxy.com/p/2849.html

    上一篇: Difference between proxy server and reverse proxy server

    下一篇: Given a pointer to a C++ object, what is the preferred way to call a static member function?