(轉)反向 Proxy伺服器的工作原理

來源:互聯網
上載者:User

標籤:style   http   io   color   使用   sp   strong   on   資料   

最近有打算研讀nginx原始碼,看到網上介紹nginx可以作為一個反向 Proxy伺服器完成負載平衡。所以搜羅了一些關於反向 Proxy伺服器的內容,整理綜合。

       一  概述          

               反向 Proxy(Reverse Proxy)方式是指以Proxy 伺服器來接受Internet上的串連請求,然後將請求轉寄給內部網路上的伺服器;並將從伺服器上得到的結果返回給Internet上請求串連的用戶端,此時Proxy 伺服器對外就表現為一個伺服器。

               通常的Proxy 伺服器,只用於代理內部網路對Internet的串連請求,客戶機必須指定Proxy 伺服器,並將本來要直接發送到Web伺服器上的http請求發送 到Proxy 伺服器中。當一個Proxy 伺服器能夠代理外部網路上的主機,訪問內部網路時,這種代理服務的方式稱為反向 Proxy服務。

圖1  反向 Proxy伺服器的基本原理

       二  反向 Proxy伺服器的工作原理

                    反向 Proxy伺服器通常有兩種模型,它可以作為內容伺服器的替身,也可以作為內容伺服器叢集的負載平衡器。

              1,作內容伺服器的替身                     

                     如果您的內容伺服器具有必須保持安全的敏感資訊,如信用卡號資料庫,可在防火牆外部設定一個Proxy 伺服器作為內容伺服器的替身。當外部客戶機嘗試訪問內容服 務器時,會將其送到Proxy 伺服器。實際內容位於內容伺服器上,在防火牆內部受到安全保護。Proxy 伺服器位於防火牆外部,在客戶機看來就像是內容伺服器。

                   當客戶機向網站提出請求時,請求將轉到Proxy 伺服器。然後,Proxy 伺服器通過防火牆中的特定通路,將客戶機的請求發送到內容伺服器。內容伺服器再通過該通道 將結果回傳給Proxy 伺服器。Proxy 伺服器將檢索到的資訊發送給客戶機,好像Proxy 伺服器就是實際的內容伺服器(參見圖 2)。如果內容伺服器返回錯誤訊息,Proxy 伺服器會先行截取該訊息並更改標題中列出的任何 URL,然後再將訊息發送給客戶機。如此可防止外部客戶機擷取內部內容伺服器的重新導向 URL。

                  這樣,Proxy 伺服器就在安全資料庫和可能的惡意攻擊之間提供了又一道屏障。與有權訪問整個資料庫的情況相對比,就算是僥倖攻擊成功,作惡者充其量也僅限於訪 問單個事務中所涉及的資訊。未經授權的使用者無法訪問到真正的內容伺服器,因為防火牆通路只允許Proxy 伺服器有權進行訪問。

                 

圖2  反向 Proxy伺服器作為內容伺服器的替身

                   可以配置防火牆路由器,使其只允許特定連接埠上的特定伺服器(在本例中為其所分配連接埠上的Proxy 伺服器)有權通過防火牆進行訪問,而不允許其他任何機器進出。

               2,作為內容伺服器的負載平衡器

                   可以在一個組織內使用多個Proxy 伺服器來平衡各 Web 服務器間的網路負載。在此模型中,可以利用Proxy 伺服器的快取特性,建立一個用於Server Load Balancer的伺服器集區。此時,Proxy 伺服器可以位於防火牆的任意一側。如果 Web 服務器每天都會接收大量的請求,則可以使用Proxy 伺服器分擔 Web 服務器的負載並提高網路訪問效率。

                   對於客戶機發往真正伺服器的請求,Proxy 伺服器起著中間調停者的作用。Proxy 伺服器會將所請求的文檔存入快取。如果有不止一個Proxy 伺服器,DNS 可以採用“迴圈複用法”選擇其 IP 位址,隨機地為請求選擇路由。客戶機每次都使用同一個 URL,但請求所採取的路由每次都可能經過不同的Proxy 伺服器。

                   可以使用多個Proxy 伺服器來處理對一個高用量內容伺服器的請求,這樣做的好處是內容伺服器可以處理更高的負載,並且比其獨自工作時更有效率。在初始啟動期 間,Proxy 伺服器首次從內容伺服器檢索文檔,此後,對內容伺服器的請求數會大大下降。

圖3  反向 Proxy伺服器作為負載平衡器

 

 

參考內容:

    1,百度百科

    2,http://www.oracle.com/technetwork/indexes/documentation/index.html

(轉)反向 Proxy伺服器的工作原理

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.