反向代理服務器[轉載]


1 反向代理的概念

反向代理(Reverse Proxy)方式是指以代理服務器來接受 internet 上的連接請求,然後將請求轉發給內部網絡上的服務器,並將從服務器上得到的結果返回給 internet上請求連接的客戶端,此時代理服務器對外就表現爲一個服務器。

通常的代理服務器,只用於代理內部網絡對 Internet 外部網絡的連接請求,客戶機必須指定代理服務器,並將本來要直接發送到 Web 服務器上的 http 請求發送到代理服務器中。不支持外部網絡對內部網絡的連接請求,因爲內部網絡對外部網絡是不可見的。當一個代理服務器能夠代理外部網絡上的主機,訪問內部網絡時,這種代理服務的方式稱爲反向代理服務。此時代理服務器對外就表現爲一個 Web 服務器,外部網絡就可以簡單把它當作一個標準的 Web 服務器而不需要特定的配置。不同之處在於,這個服務器沒有保存任何網頁的真實數據,所有的靜態網頁或者 CGI程序,都保存在內部的 Web 服務器上。因此對反向代理服務器的攻擊並不會使得網頁信息遭到破壞,這樣就增強了 Web服務器的安全性。

反向代理就是通常所說的 web 服務器加速,它是一種通過在繁忙的 web服務器和外部網絡之間增加一個高速的 web緩衝服務器來降低實際的 web 服務器的負載的一種技術。反向代理是針對web 服務器提高加速功能,作爲代理緩存,它並不是針對瀏覽器用戶,而針對一臺或多臺特定的web 服務器,它可以代理外部網絡對內部網絡的訪問請求。

反向代理服務器會強制將外部網絡對要代理的服務器的訪問經過它,這樣反向代理服務器負

責接收客戶端的請求,然後到源服務器上獲取內容,把內容返回給用戶,並把內容保存到本地,以便日後再收到同樣的信息請求時,它會把本地緩存裏的內容直接發給用戶,以減少後端 web 服務器的壓力,提高響應速度。

2 反向代理服務器與內容服務器

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

當客戶機向站點提出請求時,請求將轉到代理服務器。然後,代理服務器通過防火牆中

的特定通路,將客戶機的請求發送到內容服務器。內容服務器再通過該通道將結果回傳給代理服務器。代理服務器將檢索到的信息發送給客戶機,好像代理服務器就是實際的內容服務器。如果內容服務器返回錯誤消息,代理服務器會先行截取該消息並更改標頭中列出的任何  URL,然後再將消息發送給客戶機。如此可防止外部客戶機獲取內部內容服務器的重定向  URL。

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

3 反向代理服務器的工作流程

1) 用戶通過域名發出訪問 web 服務器的請求,該域名被 DNS 服務器解析爲反向代理服務器的 IP地址;

2) 反向代理服務器接受用戶的請求;

3) 反向代理服務器在本地緩存中查找請求的內容,找到後直接把內容發送給用戶;

4) 如果本地緩存裏沒有用戶所請求的信息內容,反向代理服務器會代替用戶向源服務器請求同樣的信息內容,並把信息內容發給用戶,如果信息內容是緩存的還會把它保存到緩存中。

4 反向代理的好處

1) 解決了網站服務器對外可見的問題;

2) 節約了有限的 IP 地址資源,企業內所有的網站共享一個在 internet 中註冊的 IP 地址,這些服務器分配私有地址,採用虛擬主機的方式對外提供服務;

3) 保護了真實的 web 服務器,web 服務器對外不可見,外網只能看到反向代理服務器,而反向代理服務器上並沒有真實數據,因此,保證了 web 服務器的資源安全;

4) 加速了對網站訪問速度,減輕 web 服務器的負擔,反向代理具有緩存網頁的功能,如果用戶需要的內容在緩存中,則可以直接從代理服務其中獲取,減輕了 web 服務器的負荷,同時也加快了用戶的訪問速度。

發佈了28 篇原創文章 · 獲贊 9 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章