反向代理

反向代理

服務器連接方式
本詞條由“科普中國”科學百科詞條編寫與應用工作項目 審核 。反向代理服務器位于用戶與目标服務器之間,但是對于用戶而言,反向代理服務器就相當于目标服務器,即用戶直接訪問反向代理服務器就可以獲得目标服務器的資源。同時,用戶不需要知道目标服務器的地址,也無須在用戶端作任何設定。反向代理服務器通常可用來作為Web加速,即使用反向代理作為Web服務器的前置機來降低網絡和服務器的負載,提高訪問效率。[1]
  • 中文名:反向代理
  • 外文名:Reverse Proxy
  • 請求:客戶端
  • 受理:服務器

定義

随着網絡技術與計算機的普及與發展,代理服務成為網上應用較多的形式。代理服務是指内部網絡對Internet發出連接請求,需要制定代理服務将原本直接傳輸至Web服務器的HTTP發送至代理服務器中。換句話來說,代理服務就是網絡信息的中轉站。代理服務器作為浏覽器與Web服務器之間的另一類服務器,配備代理服務器,浏覽器無需直接至Web服務器獲取網頁,隻需向代理服務器發出所需的請求,由代理服務器傳送給訪問者所需的浏覽器。普通的Web代理服務器僅支持内部網絡的訪問請求,反向代理服務與普通的代理方法并不存在明顯沖突。如果一個代理服務器可以代理外部網絡主機訪問内部網絡,這類代理服務模式稱之為反向代理服務。因此,系統的防火牆中可以同時配備兩種方式,反向代理用來服務外部網絡訪問,以及提供内部網絡訪問外部網絡的能力。将反向代理功能與拒絕外部訪問防火牆軟件合理結合,從而構建一種既包含内部網絡、也能向外部發布Web信息防火牆系統。反向代理功能可以提供全面的連接記錄,從而提供預防、捕獲信息的能力。反向代理的工作原理是,代理服務器來接受客戶端的網絡訪問連接請求,然後服務器将請求有策略的轉發給網絡中實際工作的業務服務器,并将從業務服務器處理的結果,返回給網絡上發起連接請求的客戶端。

工作方式

通常的代理服務器,隻用于代理内部網絡對Internet的連接請求,客戶機必須指定代理服務器,并将本來要直接發送到Web服務器上的http請求發送到代理服務器中。由于外部網絡上的主機并不會配置并使用這個代理服務器,普通代理服務器也被設計為在Internet上搜尋多個不确定的服務器,而不是針對Internet上多個客戶機的請求訪問某一個固定的服務器,因此普通的Web代理服務器不支持外部對内部網絡的訪問請求。當一個代理服務器能夠代理外部網絡上的主機,訪問内部網絡時,這種代理服務的方式稱為反向代理服務。此時代理服務器對外就表現為一個Web服務器,外部網絡就可以簡單把它當作一個标準的Web服務器而不需要特定的配置。不同之處在于,這個服務器沒有保存任何網頁的真實數據,所有的靜态網頁或者CGI程序,都保存在内部的Web服務器上。因此對反向代理服務器的攻擊并不會使得網頁信息遭到破壞,這樣就增強了Web服務器的安全性。反向代理方式與包過濾方式或普通代理方式并無沖突,因此可以在防火牆設備中同時使用這兩種方式,其中反向代理用于外部網絡訪問内部網絡時使用,正向代理或包過濾方式用于拒絕其他外部訪問方式并提供内部網絡對外部網絡的訪問能力。因此可以結合這些方式提供最佳的安全訪問方式。

優點

1)提高了内部服務器的安全

外部網絡用戶通過反向代理訪向内部服務器,隻能看到反向代理服務器的IP地址和端口号,内部服務器對于外部網絡來說是完全不可見。而且反向代理服務器上沒有保存任何的信息資源,所有的網頁程序都保存在内部服務器上,對反向代理服務器的攻擊并不能使真的網頁信息系統受到破壞,這樣就提高了内部服務器的安全性。

2)加快了對内部服務器的訪問速度

在内部服務器前放置兩台反向代理服務器,分别連接到教育網和公網,這樣公網用戶就可以直接通過公網線路訪問學校服務器,從而避開了公網和教育網之間擁擠的鍊路。同時反向代理服務器的緩存功能也加快了用戶的訪問速度。3)節約了有限的IP資源

校園網内部服務器除使用教育網地址外,也會采用公網的IP地址對外提供服務,公網分配的IP地址數目是有限的,如果每個服務器有分配-個公網地址,那是不可能的,通過反向代理技術很好的解決了IP地址不足的問題。

代理服務器

如果您的内容服務器具有必須保持安全的敏感信息,如信用卡号數據庫,可在防火牆外部設置一個代理服務器作為内容服務器的替身。當外部客戶機嘗試訪問内容服務器時,會将其送到代理服務器。實際内容位于内容服務器上,在防火牆内部受到安全保護。代理服務器位于防火牆外部,在外部客戶機看來就像是内容服務器。當客戶機向站點提出請求時,請求将轉到代理服務器。然後,代理服務器通過防火牆中的特定通路,将客戶機的請求發送到内容服務器。内容服務器再通過該通道将結果回傳給代理服務器。代理服務器将檢索到的信息發送給客戶機,好像代理服務器就是實際的内容服務器(參見圖1)。如果内容服務器返回錯誤消息,代理服務器會先行截取該消息并更改标頭中列出的任何 URL,然後再将消息發送給客戶機。如此可防止外部客戶機獲取内部内容服務器的重定向 URL。這樣,代理服務器就在安全數據庫和可能的惡意攻擊之間提供了又一道屏障。與有權訪問整個數據庫的情況相對比,就算是僥幸攻擊成功,作惡者充其量也僅限于訪問單個事務中所涉及的信息。未經授權的用戶無法訪問到真正的内容服務器,因為防火牆通路隻允許代理服務器有權進行訪問。可以配置防火牆路由器,使其隻允許特定端口上的特定服務器(在本例中為其所分配端口上的代理服務器)有權通過防火牆進行訪問,而不允許其他任何機器進出。安全反向代理 當代理服務器與其他機器之間有一個或多個連接使用安全套接字層(SSL) 協議加密數據時,即會進行安全反向代理。

配置方法

配置安全反向代理服務器的方法有三種:Secure client to proxy。如果未經授權的用戶很少或根本沒有機會訪問代理服務器與内容服務器之間交換的信息,則此方案很有效。Secure proxy to content server。如果客戶機在防火牆外部而内容服務器在防火牆内部,則此方案很有效。在此方案中,代理服務器可以充當站點之間的安全通道。Secure client to proxy and secure proxy to content server。如果需要保護服務器、代理服務器和客戶機三者間所交換信息的安全,則此方案很有效。在此方案中,代理服務器既可起到站點間安全通道的作用,又可增加客戶機驗證的安全性。除了 SSL 之外,代理服務器還可以使用客戶機驗證,這種方法要求向代理服務器提出請求的計算機提供證書(或标識表單)以核實其身份。

資源保護措施

(一)反向代理服務器

反向代理服務器對外的表現是Web服務器,其主要的技術就是地址轉換。通過反向代理,客戶端計算機無需任何設置就可以使用數字資源。反向代理技術中每個Web服務器現代感與反向代理服務器的某個目錄。反向代理可以把服務器的目錄映射在需要進行代理的服務器上。但是,這種設置隻能解決用戶一次訪問出現的問題,無法讓用戶借助反向代理連續訪問。因此,必須借助正規表達式檢測、替換所用的鍊接,達到借助反向代理實現連續訪問的效果。(二)訪問控制

借助反向代理技術構建Web緩存,從而提升Web站點自身的安全性及訪問速度。采用反向代理設置在原服務器前端,配備較大容量的内存及高速磁帶,緩存用戶的請求。反向代理服務器可以訪問用戶的源地址,從而拒絕非法用戶惡意騷擾和訪問。依據實現設置的控制策略及用戶表或IP地址控制參數達到合理控制的目的。訪問控制模式可根據服務器控制策略、IP地址等參數掌控代理服務器和Web資源控制系統的記錄。用戶源地址信息可采用accept函數獲取,可以借助getpeername函數獲得。進行配置文件時,把拒絕IP地址全部羅列出來,在啟動反向代理服務器時讀入其中,随之把用戶源IP地址與列表内的地址進行比較,如果相同則拒絕該用戶訪問。為了節約内存并提升網速,對于IP地址列表使用子網/子網掩碼的結構,從而使用子網/子網掩碼對源IP地址進行連續性描述。因部分服務器無法合理管理用戶控制和訪問數,極易出現盜用信息資源的情況。(三)流量計算

反向代理服務器及時統計流量的功能,因内部用戶可以免費運用反向代理服務器,因此,反向代理服務器可以判定訪問者是否為内部用戶。如果是内部用戶,則無需統計其所用流量。如果并非内部用戶,及時讀取客戶端所發出的請求信息,統計其流量作為輸入量。向客戶端返回結果後,累計流量看做流出量。如果一次TCP之間的連接結束,把所累積的流量量或流出量進行存盤。因CERNET可以對國内、國外流入量實施相應的計費價格,因此,反向代理服務器可以區别所用國内流量或國際流量。服務器統計的流量數據采用二進制文件進行存盤,由專門的程序觀看其數據信息。(四)設置域名解析

Web服務器應用反向代理技術時,必須設置合理的域名解析,對于外界的網站域名服務器均解析為同一個IP地址,這些地址都指向代理服務的IP地址。同時,必須設置内部的DNS,通過Web服務器區分各種服務器。

反向代理和正向代理

(1)正向代理和代理服務器

正向代理即通常所說的代理,用于代表内部網絡用戶向Internet上的服務器(或稱外部服務器,通常為Web服務器)發出連接請求,并接收響應結果,執行該代理功能的服務器稱為代理服務器。使用代理服務器訪問外部網絡時,客戶端必須在局域網設置中指明代理服務器的地址以及要代理的服務的端口号。(2)反向代理和代理服務器

反向代理的方向與正向代理相反,指代表外部網絡用戶向内部服務器發出請求,即接收來自Internet上用戶的連接請求,并将這些請求轉發給内部網絡上的服務器,然後将從内部服務器上得到的響應返回給Internet上請求連接的客戶:執行反向代理服務的服務器稱為反向代理服務器,反向代理服務器對外部用戶表現為一個服務器。

相關詞條

相關搜索

其它詞條