【Linux常識篇(1)】所謂的正向代理與反向代理


正向代理的概念

正向代理,也就是傳說中的代理,他的工作原理就像一個跳板,簡單的說,我是一個用戶,我訪問不了某網站,但是我能訪問一個代理服務器,這個代理服務器呢,他能訪問那個我不能訪問的網站,於是我先連上代理服務器,告訴他我需要那個無法訪問網站的內容,代理服務器去取回來,然后分會給我。從網站的角度,只能在代理服務器來取內容的時候有一條記錄,有時候並不知道是用戶的請求,也隱藏了用戶的資料,這取決於代理告不告訴網站。

結論就是,正向代理是一個位於客戶端和服務器(origin server)之間的服務器,為了從原始服務器取得內容,客戶端向代理發送一個請求並制定目標(原始服務器),然后代理向原始服務器轉交請求並將獲得的內容返回給客戶端。客戶端必須要進行一些特別的設置才能使用正向代理。
比如,我們翻牆到國外去看Facebook。

反向代理的概念

例如用戶訪問 http://www.test.com/readme , 但是www.test.com上並不存在readme頁面,他是偷偷從另外一台服務器取回來,然后作為自己的內容返回用戶,但用戶並不知情。這里所提到的www.test.com 這個域名對應的服務器就設置了反向代理功能。

結論就是,反向代理正好相反,對於客戶端而言它就像是原始服務器,並且客戶端不需要進行任何特別設置。客戶端向反向代理的命名空間(name-space)中的內容發送普通請求,接着反向代理將判斷向何處(原始服務器)轉交請求,並將獲得的內容返回給客戶端,就像這些內容原本就是它自己的一樣。

一般我們通過反向代理來做動靜分離和負載均衡,LNMPA就是基於反向代理實現的架構。

7178f37ejw1emxerfe6ahj20rr0ifgmk.jpg-22.1kB

反向代理的作用

一. 保護網站安全,任何來自Internet的請求都必須先經過代理服務器;

7178f37ejw1emxerfr0hej20g807wt8y.jpg-18.8kB

二. 通過配置緩存功能加速Web請求:可以緩存真實Web服務器上的某些靜態資源,減輕真實Web服務器的負載壓力;

7178f37ejw1emxerg2rq8j20g807w0sw.jpg-16kB

三. 實現負載均衡:充當負載均衡服務器均衡地分發請求,平衡集群中各個服務器的負載壓力;

7178f37ejw1emxerge7t3j20qh0gcjs5.jpg-19.9kB

兩者的區別

從用途上來講

正向代理的典型用途是為在防火牆內的局域網客戶端提供訪問Internet的途徑。正向代理還可以使用緩存特性減少網絡使用率。

反向代理的典型用途是將防火牆后面的代理服務器提供給Internet用戶訪問。反向代理還可以為后端的多台服務器提供負載均衡,或為后端較慢的服務器提供緩沖服務。另外反向代理還可以啟用高級URL策略和管理技術,從而是處於不同web服務器系統的web頁面同時存在於同一個URL空間下。

從安全性來講

正向代理允許客戶端通過訪問任意網站並且隱藏客戶自身,因此你必須采取安全措施以確保僅為經過授權的客戶端提供服務。

反向代理對外都是透明的,訪問者並不知道自己訪問的是一個代理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM