本文轉載自:http://blog.csdn.net/keyeagle/article/details/6723408數據庫
反向代理(Reverse Proxy)方式是指以代理服務器來接受Internet上的鏈接請求,而後將請求轉發給內部網絡上的服務器;並將從服務器上獲得的結果返回給Internet上請求鏈接的客戶端,此時代理服務器對外就表現爲一個服務器。緩存
一般的代理服務器,只用於代理內部網絡對Internet的鏈接請求,客戶機必須指定代理服務器,並將原本要直接發送到Web服務器上的http請求發送 到代理服務器中。當一個代理服務器可以代理外部網絡上的主機,訪問內部網絡時,這種代理服務的方式稱爲反向代理服務。安全
反向代理服務器一般有兩種模型,它能夠做爲內容服務器的替身,也能夠做爲內容服務器集羣的負載均衡器。服務器
若是您的內容服務器具備必須保持安全的敏感信息,如信用卡號數據庫,可在防火牆外部設置一個代理服務器做爲內容服務器的替身。當外部客戶機嘗試訪問內容服務器時,會將其送到代理服務器。實際內容位於內容服務器上,在防火牆內部受到安全保護。代理服務器位於防火牆外部,在客戶機看來就像是內容服務器。網絡
當客戶機向站點提出請求時,請求將轉到代理服務器。而後,代理服務器經過防火牆中的特定通路,將客戶機的請求發送到內容服務器。內容服務器再經過該通道將結果回傳給代理服務器。代理服務器將檢索到的信息發送給客戶機,好像代理服務器就是實際的內容服務器(參見圖 2)。若是內容服務器返回錯誤消息,代理服務器會先行截取該消息並更改標頭中列出的任何 URL,而後再將消息發送給客戶機。如此可防止外部客戶機獲取內部內容服務器的重定向 URL。負載均衡
這樣,代理服務器就在安全數據庫和可能的惡意攻擊之間提供了又一道屏障。與有權訪問整個數據庫的狀況相對比,就算是僥倖攻擊成功,做惡者充其量也僅限於訪 問單個事務中所涉及的信息。未經受權的用戶沒法訪問到真正的內容服務器,由於防火牆通路只容許代理服務器有權進行訪問。spa
能夠在一個組織內使用多個代理服務器來平衡各 Web 服務器間的網絡負載。在此模型中,能夠利用代理服務器的高速緩存特性,建立一個用於負載平衡的服務器池。此時,代理服務器能夠位於防火牆的任意一側。若是 Web 服務器天天都會接收大量的請求,則可使用代理服務器分擔 Web 服務器的負載並提升網絡訪問效率。.net
對於客戶機發往真正服務器的請求,代理服務器起着中間調停者的做用。代理服務器會將所請求的文檔存入高速緩存。若是有不止一個代理服務器,DNS 能夠採用「循環複用法」選擇其 IP 地址,隨機地爲請求選擇路由。客戶機每次都使用同一個 URL,但請求所採起的路由每次均可能通過不一樣的代理服務器。代理
可使用多個代理服務器來處理對一個高用量內容服務器的請求,這樣作的好處是內容服務器能夠處理更高的負載,而且比其獨自工做時更有效率。在初始啓動期 間,代理服務器首次從內容服務器檢索文檔,此後,對內容服務器的請求數會大大降低。blog