正向代理和反向代理是forward/reverse proxy的意思,在代理功能上來講,有一點不太一樣。
舉個例子:
你要去租房,你找房屋中介找房子,房屋中介找房屋的全權代理人要房子,房屋的全權代理人是由戶主委託的。
這裡有四個角色:
你=client
房屋中介=forword proxy
代理人=reverse proxy
戶主=server
客戶端訪問網路如果需要指定某個代理服務器為你去獲取內容,那就是正向代理
而服務器隱藏在代理服務器後面,讓代理服務器作為衝鋒陷陣的,那這個代理服務器就是反向代理
而squid是一個forword/reverse proxy,兩個功能兼備,一般可以作為區域網路的上網緩存,此時作為正向代理。
一般服務器會讓squid作為前端,那就是充當反向代理,反向代理有很多軟件都可以,比如nginx、lighttpd,但他們兩個一般做不了正向代理。
另一個參考資料:
正向代理是一個位於客戶端和原始服務器(origin server)之間的服務器,為了從原始服務器取得內容,客戶端向代理發送一個請求並指定目標(原始服務器),然後代理向原始服務器轉交請求並將獲得的內容返回給客戶端。
客戶端必須要進行一些特別的設置才能使用正向代理。
正向代理的典型用途是為在防火牆內的局域網客戶端提供訪問Internet的途徑。正向代理還可以使用緩衝特性(由mod_cache提供)減少網絡使用率。
使用ProxyRequests指令即可啟動正向代理。因為正向代理允許客戶端通過它訪問任意網站並且隱藏客戶端自身,因此你必須採取安全措施以確保僅為經過授權的客戶端提供服務。
反向代理正好相反,對於客戶端而言它就像是原始服務器,並且客戶端不需要進行任何特別的設置。客戶端向反向代理的名字空間(name-space)中的內容發送普通請求,接著反向代理將判斷向何處(原始服務器)轉交請求,並將獲得的內容返回給客戶端,就像這些內容原本就是它自己的一樣。
反向代理的典型用途是將防火牆後面的服務器提供給Internet用戶訪問。反向代理還可以為後端的多台服務器提供負載平衡,或為後端較慢的服務器提供緩沖服務。
另外,還可以啟用高級URL策略和管理技術,從而使處於不同web服務器系統的web頁面同時存在於同一個URL空間下。
歡迎光臨 ADJ網路實驗室 (http://dz.adj.idv.tw/) | Powered by Discuz! 6.0.0 |