(圖2.2) 當(dāng)反向代理服務(wù)器不止一個的時候,,我們甚至可以把它們做成集群,當(dāng)更多的用戶訪問資源服務(wù)器B的時候,,讓不同的代理服務(wù)器Z(x)去應(yīng)答不同的用戶,,然后發(fā)送不同用戶需要的資源。 當(dāng)然反向代理服務(wù)器像正向代理服務(wù)器一樣擁有CACHE的作用,,它可以緩存原始資源服務(wù)器B的資源,,而不是每次都要向原始資源服務(wù)器B請求數(shù)據(jù),特別是一些靜態(tài)的數(shù)據(jù),,比如圖片和文件,,如果這些反向代理服務(wù)器能夠做到和用戶X來自同一個網(wǎng)絡(luò),那么用戶X訪問反向代理服務(wù)器X,,就會得到很高質(zhì)量的速度,。這正是CDN技術(shù)的核心。如下圖2.3 (圖2.3) 我們并不是講解CDN,,所以去掉了CDN最關(guān)鍵的核心技術(shù)智能DNS,。只是展示CDN技術(shù)實際上利用的正是反向代理原理這塊。 反向代理結(jié)論與正向代理正好相反,,對于客戶端而言它就像是原始服務(wù)器,,并且客戶端不需要進行任何特別的設(shè)置??蛻舳讼蚍聪虼淼拿臻g(name-space)中的內(nèi)容發(fā)送普通請求,,接著反向代理將判斷向何處(原始服務(wù)器)轉(zhuǎn)交請求,,并將獲得的內(nèi)容返回給客戶端,就像這些內(nèi)容原本就是它自己的一樣,。 基本上,,網(wǎng)上做正反向代理的程序很多,能做正向代理的軟件大部分也可以做反向代理,。開源軟件中最流行的就是squid,,既可以做正向代理,也有很多人用來做反向代理的前端服務(wù)器,。另外MS ISA也可以用來在WINDOWS平臺下做正向代理,。反向代理中最主要的實踐就是WEB服務(wù),近些年來最火的就是Nginx了,。網(wǎng)上有人說NGINX不能做正向代理,,其實是不對的。NGINX也可以做正向代理,,不過用的人比較少了,。 三、透明代理 如果把正向代理,、反向代理和透明代理按照人類血緣關(guān)系來劃分的話,。那么正向代理和透明代理是很明顯堂親關(guān)系,而正向代理和反向代理就是表親關(guān)系了 ,。透明代理的意思是客戶端根本不需要知道有代理服務(wù)器的存在,,它改編你的request fields(報文),并會傳送真實IP,。注意,,加密的透明代理則是屬于匿名代理,意思是不用設(shè)置使用代理了,。 透明代理實踐的例子就是時下很多公司使用的行為管理軟件,。如下圖3.1
|
|