反向 Proxy簡介

來源:互聯網
上載者:User
轉自: http://hi.baidu.com/xproduct/blog/item/c82aefdcf51a81a5cd116651.html Proxy 伺服器是使用非常普遍的一種將區域網路主機聯入互連網的一種方式,使用代理上網可以節約緊缺的IP地址資源,而且可以阻斷外部主機對內部主機的訪問,使 內部網主機免受外部網主機的攻擊。但是,如果想讓互連網上的主機訪問內部網的主機資源(例如:Web網站),又想使內部網主機免受外部網主機攻擊,一般的 代理服務是不能實現的,需要使用反向 Proxy來實現。   本文將詳細介紹反向 Proxy服務的概念以及如何利用反向 Proxy伺服器提高WEB伺服器的效能和安全性。   一.反向 Proxy的概念   什麼是反向 Proxy呢。其實,反向 Proxy也就是通常所說的WEB伺服器加速,它是一種通過在繁忙的WEB伺服器和Internet之間增加一個高速的WEB緩衝伺服器(即:WEB反向 Proxy伺服器)來降低實際的WEB伺服器的負載。典型的結構如下圖所示:

  Web伺服器加速(反向 Proxy)是針對Web伺服器提供加速功能的。它作為代理Cache,但並不針對瀏 覽器使用者,而針對一台或多台特定Web伺服器(這也是反向 Proxy名稱的由來)。實施反向 Proxy(如上圖所示),只要將Reverse Proxy Cache裝置放置在一台或多台Web伺服器前端即可。當互連網使用者訪問某個WEB伺服器時,通過DNS伺服器解析後的IP地址是Reverse Proxy Server的IP地址,而非原始Web伺服器的IP地址,這時Reverse Proxy Server裝置充當Web伺服器,瀏覽器可以與它串連,無需再直接與Web伺服器相連。因此,大量Web服務工作量被卸載到反向 Proxy服務上。不但能夠防 止外部網主機直接和web伺服器直接通訊帶來的安全隱患,而且能夠很大程度上減輕web伺服器的負擔,提高訪問速度。   二.       反向 Proxy和其它代理的比較   下面將對幾種典型的代理服務作一個簡單的比較。在網路上常見的Proxy 伺服器有三種:   1. 標準的代理緩衝伺服器   一個標準的代理緩衝服務被用於緩衝靜態網頁(例如:html檔案和圖片檔案等)到本網上的一台主 機上(即Proxy 伺服器)。當被緩衝的頁面被第二次訪問的時候,瀏覽器將直接從本地Proxy 伺服器那裡擷取請求資料而不再向原web網站請求資料。這樣就節省了寶 貴的網路頻寬,而且提高了訪問速度。但是,要想實現這種方式,必須在每一個內部主機的瀏覽器上明確指明Proxy 伺服器的IP地址和連接埠號碼。用戶端上網時,每次 都把請求送給Proxy 伺服器處理,Proxy 伺服器根據請求確定是否串連到遠程web伺服器擷取資料。如果在本地緩衝區有目標檔案,則直接將檔案傳給使用者即可。如果 沒有的話則先取迴文件,先在本地儲存一份緩衝,然後將檔案發給用戶端瀏覽器。   2. 透明代理緩衝伺服器   透明代理緩衝服務和標準Proxy 伺服器的功能完全相同。但是,代理操作對用戶端的瀏覽器是透明的(即不需指 明Proxy 伺服器的IP和連接埠)。透明Proxy 伺服器阻斷網路通訊,並且過濾出訪問外部的HTTP(80連接埠)流量。如果用戶端的請求在本地有緩衝則將緩衝的資料 直接發給使用者,如果在本地沒有緩衝則向遠程web伺服器發出請求,其餘操作和標準的Proxy 伺服器完全相同。對於Linux作業系統來說,透明代理使用 Iptables或者Ipchains實現。因為不需要對瀏覽器作任何設定,所以,透明代理對於ISP(Internet伺服器供應商)特別有用。   3. 反向 Proxy緩衝伺服器   反向 Proxy是和前兩種代理完全不同的一種代理服務。使用它可以降低原始WEB伺服器的負載。反向 Proxy服務 器承擔了對原始WEB伺服器的靜態頁面的請求,防止原始伺服器過載。它位於本地WEB伺服器和Internet之間,處理所有對WEB伺服器的請求,阻止 了WEB伺服器和Internet的直接通訊。如果互連網使用者請求的頁面在Proxy 伺服器上有緩衝的話,Proxy 伺服器直接將緩衝內容發送給使用者。如果沒有緩衝則 先向WEB伺服器發出請求,取回資料,本機快取後再發送給使用者。這種方式通過降低了向WEB伺服器的請求數從而降低了WEB伺服器的負載。   三.反向 Proxy工作原理   反向 Proxy伺服器位於本地WEB伺服器和Internet之間,如下圖所示:

  當使用者瀏覽器發出一個HTTP請求時,通過網域名稱解析將請求定向到反向 Proxy伺服器(如果要實現多個WEB 伺服器的反向 Proxy,需要將多個WEB伺服器的網域名稱都指向反向 Proxy伺服器)。由反向 Proxy伺服器處理器請求。反向 Proxy一般只緩衝可緩衝的資料(比如html網 頁和圖片等),而一些CGI指令碼程式或者ASP之類的程式不緩衝。它根據從WEB伺服器返回的HTTP頭標記來緩衝靜態頁面。有四個最重要HTTP頭標 記: Last-Modified: 告訴反向 Proxy頁面什麼時間被修改 Expires: 告訴反向 Proxy頁面什麼時間應該從緩衝區中刪除 Cache-Control: 告訴反向 Proxy頁面是否應該被緩衝 Pragma: 告訴反向 Proxy頁面是否應該被緩衝. 例如:在預設情況下,ASP頁面返回” Cache-control: private.” ,所以ASP頁面時不會在反向 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.