查看完整版本: 認識正向代理和反向代理


plurk 2010-4-2 00:44

認識正向代理和反向代理

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

wisdomleo 2011-6-21 22:14

回復 1# 的帖子

多謝分享:time: :time: :time: :time: :time: :time:
頁: [1]
查看完整版本: 認識正向代理和反向代理