天天看點

nginx正向代理,反向代理概念

正向代理

正向代理,也就是傳說中的代理,他的工作原理就像一個跳闆, 簡單的說, 我是一個使用者,我通路不了某網站,但是我能通路一個代理伺服器 這個代理伺服器呢,他能通路那個我不能通路的網站 于是我先連上代理伺服器,告訴他我需要那個無法通路網站的内容 代理伺服器去取回來,然後傳回給我

從網站的角度,隻在代理伺服器來取内容的時候有一次記錄 有時候并不知道是使用者的請求,也隐藏了使用者的資料,這取決于代理告不告訴網站

結論就是 正向代理 是一個位于用戶端和原始伺服器(origin server)之間的伺服器,為了從原始伺服器取得内容,用戶端向代理發送一個請求并指定目标(原始伺服器),然後代理向原始伺服器轉交請求并将獲得的内容傳回給用戶端。用戶端必須要進行一些特别的設定才能使用正向代理。

反向代理

舉例: 例使用者通路 http://ooxx.me/readme 但ooxx.me上并不存在readme頁面 他是偷偷從另外一台伺服器上取回來,然後作為自己的内容吐給使用者

但使用者并不知情 這很正常,使用者一般都很笨

這裡所提到的 ooxx.me 這個域名對應的伺服器就設定了反向代理功能

結論就是 反向代理正好相反,對于用戶端而言它就像是原始伺服器,并且用戶端不需要進行任何特别的設定。用戶端向反向代理 的命名空間(name-space)中的内容發送普通請求,接着反向代理将判斷向何處(原始伺服器)轉交請求,并将獲得的内容傳回給用戶端,就像這些内容 原本就是它自己的一樣。

負載均衡

當反向代理伺服器不止一個的時候,我們甚至可以把它們做成叢集,當更多的使用者通路資源伺服器B的時候,讓不同的代理伺服器Z(x)去應答不同的使用者,然後發送不同使用者需要的資源。

當然反向代理伺服器像正向代理伺服器一樣擁有CACHE的作用,它可以緩存原始資源伺服器B的資源,而不是每次都要向原始資源伺服器B請求資料,特别是一些靜态的資料,比如圖檔和檔案,如果這些反向代理伺服器能夠做到和使用者X來自同一個網絡,那麼使用者X通路反向代理伺服器X,就會得到很高品質的速度。這正是CDN技術的核心。