前陣子在工作上,遇到一個我從未接觸的應用服務,後來我問了一下『咕狗大師』,這個功能其實已經不算新東西;這個應用與Proxy Server有類似的功能,只是與Proxy Server的功能剛好為反向,有點像ARP與RARP的關係,這個服務名稱叫Reverse-Proxy (Server)。
首先我們來複習一下Proxy Server的功能,可以參考如下圖,建置Proxy Server的主要目的,是為了節省網路頻寬,降低網路成本;另外進階的Proxy Server有管制網路流量,進而提供分析報表。
這種應用作法通常都是企業需求,主要是讓內部的Clients在存取網路時,利用Proxy Server可以達到降低網路頻寬消耗,以及管制網路存取。
Proxy Server的應用已經是很常見的做法,但是在Reverse Proxy Server反而比較少見,模式可以參考下圖的說明,企業的網頁服務採用二階層模式,實際的網站主機配置內部IP,而在這些網站主機前端建置一台或多台的Reverse Proxy Server,當外部使用者欲連到網站時,是利用Reverse Proxy Server做為網頁呈現的代理主機,因此Clients就不能直接連到內部網站主機,但是卻是連到Reverse Proxy Server的外取網頁。
這種作法主要是保護網站主機,確保外部使用者不能直接存取網站主機,因此應用上還是以資安因素為主;另外Reverse Proxy Server也可以利用虛擬路徑與Port的交錯使用,讓原本有限的外部IP可以更有效的應用。
Reverse Proxy Server確實有他的好處,但是主要仍在保護網站主機,如果網站主機是屬於SESSION與Cookie等更複雜的程式架構,甚至需要負載平衡的應用上,Reverse Proxy Server可能就是比較乏力;現今網路應用設備更廣泛(例如L7 Switch),與網路設備的平價化,有些企業會採用Load Balance Device(負載平衡設備)來取代Reverse Proxy Server,這種產品也可以利用NAT方式將網站主機隱藏於該設備之後,甚至可以做入侵防範與網路辨識來源的功能。
沒有留言:
張貼留言