proxy - 透明代理伺服器 - 代理服務器和反向代理服務器之間的區別




反向代理伺服器 (12)

代理服務器和反向代理服務器有什麼區別?


qyb2zm302的回答很好地詳細介紹了代理的應用,但卻忽略了正向代理和反向代理之間的基本概念。 對於反向代理,X - > Y - > Z,X知道Y而不是Z,反之亦然。

http://www.jscape.com/blog/bid/87783/Forward-Proxy-vs-Reverse-Proxy非常清楚地解釋了正向和反向代理之間的區別。

代理人只是溝通的中間人(請求+響應)。 客戶端< - >代理< - >服務器

  • 客戶端代理:(客戶端< - >代理服務器 < - >服務器

    代理人代表客戶行事。 客戶知道所有涉及連鎖的3台機器。 服務器沒有。

  • 服務器代理:客戶端< - > 代理< - >服務器

    該代理代表服務器進行操作。 客戶只知道代理。 服務器知道整個鏈。

在我看來, 正向反向僅僅是令人困惑的,依賴於視角的客戶端服務器代理名稱。 為了明確的溝通,我建議放棄前者。

當然,為了進一步複雜化,不是每台機器都是專門的客戶機或服務器。 如果上下文中存在歧義,最好明確指定代理所在的位置以及它所通信的通信。



代理(正向代理):當您的局域網上的計算機連接到訪問互聯網的代理服務器時。 好處包括,只有服務器暴露於互聯網。 外部人員無法直接訪問計算機。 正向代理可以通過緩存下載來改善用戶的互聯網訪問。 它們也可以用來限制訪問某些網站。 此外,只有代理服務器需要一個公共地址,而不是連接到它的客戶端。

反向代理:反向代理是正向代理的反面。 相反,它代表所連接的服務器充當代理。 用戶不必直接訪問遠程服務器,而是通過反向代理並從那裡直接訪問相應的服務器。 只有反向代理需要SSL證書,只需要一個公共IP地址,並且它可以處理傳入請求的負載平衡,以提高整體用戶體驗。

圖片來源: docs.microsoft.com


如果 to see from client side and server side are the same: Client -> Server 不到代理 to see from client side and server side are the same: Client -> Server 代理 from client side: Client -> proxy -> Server from Server side: Client -> Server 反向代理 from client side: Client -> Server from Server side: Client -> proxy -> Server

所以我認為如果它由客戶端用戶設置,它會調用代理;如果它由服務器管理器設置,則它是反向代理。

由於設置的目的和原因不同,它們以不同的方式處理數據並使用不同的軟件。

要么

   User side         |      Server side
client  <->  proxy  <-> gate_server <->  reverse_proxy <-> realserver

從“門戶服務器”的角度來看,一個是代理另一個是反向的。


一些圖表可能有所幫助

正向代理

反向代理


一對簡單的定義是

正向代理:代表請求者(或服務使用者)

反向代理:代表服務/內容製作人。


代理服務器代理(並且可選地高速緩存)傳出的網絡請求到互聯網上的各種不一定相關的公共資源。 反向代理捕獲(並可選地高速緩存)來自Internet的傳入請求,並將它們分發到各種內部專用資源,通常用於高可用性目的。


以前的答案是準確的,但也許太簡單了。 我會嘗試添加一些例子。

首先,“代理”這個詞描述某人或某人代表別人行事。

在計算機領域,我們正在談論一台代表另一台計算機的服務器。

為了便於使用,我將討論限制為網絡代理 - 但是,代理的概念不限於網站。

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網站來控制對新聞的訪問。 請參閱TORFreeNet

    • 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)概念如何工作的一部分。
  • 2)Z的管理員擔心對服務器上託管的內容進行報復,並且不希望將主服務器直接暴露給公眾。
    • a)像“加拿大藥房”這樣的垃圾郵件品牌的擁有者似乎擁有數千台服務器,而實際上大多數網站都託管在少得多的服務器上。 此外,有關垃圾郵件的濫用投訴只會關閉公共服務器,而不是主服務器。

在上面的場景中, Z有能力選擇Y

鏈接到帖子中的主題:

內容傳送網絡

轉發代理軟件(服務器端)

用於HTTP的反向代理軟件(服務器端)

用於TCP的反向代理軟件(服務器端)

也可以看看:


差異主要在於部署。 Web轉發和反向代理都具有相同的基本功能,它們接受各種格式的HTTP請求請求,並通常通過訪問原始或聯繫服務器提供響應。

功能齊全的服務器通常具有訪問控制,緩存和一些鏈接映射功能。

轉發代理是通過配置客戶端計算機訪問的代理。 客戶端需要協議支持代理功能(重定向,代理認證等)。 代理對用戶體驗透明,但對應用程序不透明。

反向代理是一種作為Web服務器部署的代理,其行為類似於Web服務器,不同之處在於它不是從程序和磁盤本地組成內容,而是將請求轉發到源服務器。 從客戶的角度來看,它是一個Web服務器,所以用戶體驗是完全透明的。

實際上,對於不同的客戶群體,單個代理實例可以同時作為正向和反向代理運行。

這是簡短的版本,我可以澄清,如果人們想評論。


我發現這個圖很有幫助。 它只是顯示了Internet上從客戶端到服務器的forwardreverse代理設置體系結構。 此圖片將幫助您更好地理解qyb2zm302的post和其他帖子。

您也可以通過Peter Silva的F5DevCentral觀看this視頻。

圖片來源: Quora 。 所有信用給創建此圖的人。

它讓我想起了經典的諺語:

一張圖片勝過1000字。


根據我的理解..........

首先,眾所周知,代理意味著“代表他人的權力”。 現在有兩件事正向和反向代理。

FORWARD PROXY假設你想訪問“谷歌”和“谷歌”,反過來將有n個服務器響應該特定請求。

現在,在這種情況下,當您要求Google提供某些內容而您不希望Google查看您的IP地址時,您將使用正向代理,如下所述。

甲----->乙----->Ç

現在,您在這里通過B發送請求,因此C會認為請求來自B,而不是A.這樣,您可以阻止您的客戶端IP不被暴露給外部世界。

反向代理。 現在在這種情況下,為了讓您明白我們將採用相同的正向代理案例。 在這裡你已經請求了一些東西給谷歌,谷歌又將這一請求發送到應用服務器或另一個代理服務器以獲得響應。 所以這些事情將如下所述發生。

甲----->乙----->Ç

          C------>D

          C<------D

A <----- B <----- C從上面的圖可以看出,一個請求已經從B發送到C而不是從A.然後從C發送一個請求發送到D.同樣,答案將從D到C然後到B和A.

上面的圖說明了它的唯一的上下文,儘管兩個代理的行為方式都是相同的,但客戶端代理隱藏了客戶端信息,而服務器端代理將隱藏服務器端信息。

如果您覺得上述解釋有誤,請發表評論。