• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            牽著老婆滿街逛

            嚴(yán)以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            圖解正向代理、反向代理、透明代理

            轉(zhuǎn)載自:http://z00w00.blog.51cto.com/515114/1031287


            套用古龍武俠小說(shuō)套路來(lái)說(shuō),代理服務(wù)技術(shù)是一門很古老的技術(shù),是在互聯(lián)網(wǎng)早期出現(xiàn)就使用的技術(shù)。一般實(shí)現(xiàn)代理技術(shù)的方式就是在服務(wù)器上安裝代理服務(wù)軟件,讓其成為一個(gè)代理服務(wù)器,從而實(shí)現(xiàn)代理技術(shù)。常用的代理技術(shù)分為正向代理、反向代理和透明代理。本文就是針對(duì)這三種代理來(lái)講解一些基本原理和具體的適用范圍,便于大家更深入理解代理服務(wù)技術(shù)。

            一、正向代理(Forward Proxy)

               一般情況下,如果沒(méi)有特別說(shuō)明,代理技術(shù)默認(rèn)說(shuō)的是正向代理技術(shù)。關(guān)于正向代理的概念如下:
            正向代理(forward)是一個(gè)位于客戶端【用戶A】和原始服務(wù)器(origin server)【服務(wù)器B】之間的服務(wù)器【代理服務(wù)器Z】,為了從原始服務(wù)器取得內(nèi)容,用戶A向代理服務(wù)器Z發(fā)送一個(gè)請(qǐng)求并指定目標(biāo)(服務(wù)器B),然后代理服務(wù)器Z向服務(wù)器B轉(zhuǎn)交請(qǐng)求并將獲得的內(nèi)容返回給客戶端。客戶端必須要進(jìn)行一些特別的設(shè)置才能使用正向代理。如下圖1.1
            (圖1.1
            從上面的概念中,我們看出,文中所謂的正向代理就是代理服務(wù)器替代訪問(wèn)方【用戶A】去訪問(wèn)目標(biāo)服務(wù)器【服務(wù)器B
            這就是正向代理的意義所在。而為什么要用代理服務(wù)器去代替訪問(wèn)方【用戶A】去訪問(wèn)服務(wù)器B呢?這就要從代理服務(wù)器使用的意義說(shuō)起。
            使用正向代理服務(wù)器作用主要有以下幾點(diǎn):

            1、訪問(wèn)本無(wú)法訪問(wèn)的服務(wù)器B,如下圖1.2

            (圖1.2

             

            我們拋除復(fù)雜的網(wǎng)絡(luò)路由情節(jié)來(lái)看圖1.2,假設(shè)圖中路由器從左到右命名為R1,R2

            假設(shè)最初用戶A要訪問(wèn)服務(wù)器B需要經(jīng)過(guò)R1R2路由器這樣一個(gè)路由節(jié)點(diǎn),如果路由器R1或者路由器R2發(fā)生故障,那么就無(wú)法訪問(wèn)服務(wù)器B了。但是如果用戶A讓代理服務(wù)器Z去代替自己訪問(wèn)服務(wù)器B,由于代理服務(wù)器Z沒(méi)有在路由器R1R2節(jié)點(diǎn)中,而是通過(guò)其它的路由節(jié)點(diǎn)訪問(wèn)服務(wù)器B,那么用戶A就可以得到服務(wù)器B的數(shù)據(jù)了。

            現(xiàn)實(shí)中的例子就是“翻/墻”。不過(guò)自從VPN技術(shù)被廣泛應(yīng)用外,“翻/墻”不但使用了傳統(tǒng)的正向代理技術(shù),有的還使用了VPN技術(shù)

             

            2、加速訪問(wèn)服務(wù)器B

            這種說(shuō)法目前不像以前那么流行了,主要是帶寬流量的飛速發(fā)展。早期的正向代理中,很多人使用正向代理就是提速。還是如圖1.2
            假設(shè)用戶A到服務(wù)器B,經(jīng)過(guò)R1路由器和R2路由器,而R1R2路由器的鏈路是一個(gè)低帶寬鏈路。而用戶A到代理服務(wù)器Z,從代理服務(wù)器Z到服務(wù)器B都是高帶寬鏈路。那么很顯然就可以加速訪問(wèn)服務(wù)器B了。
             

            3Cache作用

            Cache(緩存)技術(shù)和代理服務(wù)技術(shù)是緊密聯(lián)系的(不光是正向代理,反向代理也使用了Cache(緩存)技術(shù)。還如上圖所示,如果在用戶A訪問(wèn)服務(wù)器B某數(shù)據(jù)J之前,已經(jīng)有人通過(guò)代理服務(wù)器Z訪問(wèn)過(guò)服務(wù)器B上得數(shù)據(jù)J,那么代理服務(wù)器Z會(huì)把數(shù)據(jù)J保存一段時(shí)間,如果有人正好取該數(shù)據(jù)J,那么代理服務(wù)器Z不再訪問(wèn)服務(wù)器B,而把緩存的數(shù)據(jù)J直接發(fā)給用戶A。這一技術(shù)在Cache中術(shù)語(yǔ)就叫Cache命中。如果有更多的像用戶A的用戶來(lái)訪問(wèn)代理服務(wù)器Z,那么這些用戶都可以直接從代理服務(wù)器Z中取得數(shù)據(jù)J,而不用千里迢迢的去服務(wù)器B下載數(shù)據(jù)了。
             

            4、客戶端訪問(wèn)授權(quán)

            這方面的內(nèi)容現(xiàn)今使用的還是比較多的,例如一些公司采用ISA SERVER做為正向代理服務(wù)器來(lái)授權(quán)用戶是否有權(quán)限訪問(wèn)互聯(lián)網(wǎng),挼下圖1.3

            (圖1.3

            1.3防火墻作為網(wǎng)關(guān),用來(lái)過(guò)濾外網(wǎng)對(duì)其的訪問(wèn)。假設(shè)用戶A和用戶B都設(shè)置了代理服務(wù)器,用戶A允許訪問(wèn)互聯(lián)網(wǎng),而用戶B不允許訪問(wèn)互聯(lián)網(wǎng)(這個(gè)在代理服務(wù)器Z上做限制)這樣用戶A因?yàn)槭跈?quán),可以通過(guò)代理服務(wù)器訪問(wèn)到服務(wù)器B,而用戶B因?yàn)闆](méi)有被代理服務(wù)器Z授權(quán),所以訪問(wèn)服務(wù)器B時(shí),數(shù)據(jù)包會(huì)被直接丟棄。

            5、隱藏訪問(wèn)者的行蹤

            如下圖1.4 我們可以看出服務(wù)器B并不知道訪問(wèn)自己的實(shí)際是用戶A,因?yàn)榇矸?wù)器Z代替用戶A去直接與服務(wù)器B進(jìn)行交互。如果代理服務(wù)器Z被用戶A完全控制(或不完全控制),會(huì)慣以“肉雞”術(shù)語(yǔ)稱呼。

            (圖1.4)

             

            我們總結(jié)一下 正向代理是一個(gè)位于客戶端和原始服務(wù)器(origin server)之間的服務(wù)器,為了從原始服務(wù)器取得內(nèi)容,客戶端向代理發(fā)送一個(gè)請(qǐng)求并指定目標(biāo)(原始服務(wù)器),然后代理向原始服務(wù)器轉(zhuǎn)交請(qǐng)求并將獲得的內(nèi)容返回給客戶端。客戶端必須設(shè)置正向代理服務(wù)器,當(dāng)然前提是要知道正向代理服務(wù)器的IP地址,還有代理程序的端口。

             

            二、反向代理(reverse proxy

            反向代理正好與正向代理相反,對(duì)于客戶端而言代理服務(wù)器就像是原始服務(wù)器,并且客戶端不需要進(jìn)行任何特別的設(shè)置。客戶端向反向代理的命名空間(name-space)中的內(nèi)容發(fā)送普通請(qǐng)求,接著反向代理將判斷向何處(原始服務(wù)器)轉(zhuǎn)交請(qǐng)求,并將獲得的內(nèi)容返回給客戶端。

            使用反向代理服務(wù)器的作用如下:

            1、  保護(hù)和隱藏原始資源服務(wù)器

            如下圖2.1

            (圖2.1
            用戶A始終認(rèn)為它訪問(wèn)的是原始服務(wù)器B而不是代理服務(wù)器Z,但實(shí)用際上反向代理服務(wù)器接受用戶A的應(yīng)答,從原始資源服務(wù)器B中取得用戶A的需求資源,然后發(fā)送給用戶A。由于防火墻的作用,只允許代理服務(wù)器Z訪問(wèn)原始資源服務(wù)器B。盡管在這個(gè)虛擬的環(huán)境下,防火墻和反向代理的共同作用保護(hù)了原始資源服務(wù)器B,但用戶A并不知情。

            2、  負(fù)載均衡

            如下圖2.2
            (圖2.2
             
               當(dāng)反向代理服務(wù)器不止一個(gè)的時(shí)候,我們甚至可以把它們做成集群,當(dāng)更多的用戶訪問(wèn)資源服務(wù)器B的時(shí)候,讓不同的代理服務(wù)器Zx)去應(yīng)答不同的用戶,然后發(fā)送不同用戶需要的資源。
            當(dāng)然反向代理服務(wù)器像正向代理服務(wù)器一樣擁有CACHE的作用,它可以緩存原始資源服務(wù)器B的資源,而不是每次都要向原始資源服務(wù)器B請(qǐng)求數(shù)據(jù),特別是一些靜態(tài)的數(shù)據(jù),比如圖片和文件,如果這些反向代理服務(wù)器能夠做到和用戶X來(lái)自同一個(gè)網(wǎng)絡(luò),那么用戶X訪問(wèn)反向代理服務(wù)器X,就會(huì)得到很高質(zhì)量的速度。這正是CDN技術(shù)的核心。如下圖2.3
            (圖2.3
             
            我們并不是講解CDN,所以去掉了CDN最關(guān)鍵的核心技術(shù)智能DNS。只是展示CDN技術(shù)實(shí)際上利用的正是反向代理原理這塊。
            反向代理結(jié)論與正向代理正好相反,對(duì)于客戶端而言它就像是原始服務(wù)器,并且客戶端不需要進(jìn)行任何特別的設(shè)置。客戶端向反向代理的命名空間(name-space)中的內(nèi)容發(fā)送普通請(qǐng)求,接著反向代理將判斷向何處(原始服務(wù)器)轉(zhuǎn)交請(qǐng)求,并將獲得的內(nèi)容返回給客戶端,就像這些內(nèi)容原本就是它自己的一樣。
            基本上,網(wǎng)上做正反向代理的程序很多,能做正向代理的軟件大部分也可以做反向代理。開(kāi)源軟件中最流行的就是squid,既可以做正向代理,也有很多人用來(lái)做反向代理的前端服務(wù)器。另外MS ISA也可以用來(lái)在WINDOWS平臺(tái)下做正向代理。反向代理中最主要的實(shí)踐就是WEB服務(wù),近些年來(lái)最火的就是Nginx了。網(wǎng)上有人說(shuō)NGINX不能做正向代理,其實(shí)是不對(duì)的。NGINX也可以做正向代理,不過(guò)用的人比較少了。
             

            三、透明代理

                如果把正向代理、反向代理和透明代理按照人類血緣關(guān)系來(lái)劃分的話。那么正向代理和透明代理是很明顯堂親關(guān)系,而正向代理和反向代理就是表親關(guān)系了 

            透明代理的意思是客戶端根本不需要知道有代理服務(wù)器的存在,它改編你的request fields(報(bào)文),并會(huì)傳送真實(shí)IP。注意,加密的透明代理則是屬于匿名代理,意思是不用設(shè)置使用代理了。

            透明代理實(shí)踐的例子就是時(shí)下很多公司使用的行為管理軟件。如下圖3.1

            (圖3.1

             

             

            用戶A和用戶B并不知道行為管理設(shè)備充當(dāng)透明代理行為,當(dāng)用戶A或用戶B向服務(wù)器A或服務(wù)器B提交請(qǐng)求的時(shí)候,透明代理設(shè)備根據(jù)自身策略攔截并修改用戶AB的報(bào)文,并作為實(shí)際的請(qǐng)求方,向服務(wù)器AB發(fā)送請(qǐng)求,當(dāng)接收信息回傳,透明代理再根據(jù)自身的設(shè)置把允許的報(bào)文發(fā)回至用戶AB,如上圖,如果透明代理設(shè)置不允許訪問(wèn)服務(wù)器B,那么用戶A或者用戶B就不會(huì)得到服務(wù)器B的數(shù)據(jù)。
             

            本文出自 “丁胖胖的BLOG” 博客,請(qǐng)務(wù)必保留此出處http://z00w00.blog.51cto.com/515114/1031287

            posted on 2015-04-01 16:45 楊粼波 閱讀(1036) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            亚洲午夜久久久精品影院| 91精品国产乱码久久久久久| 亚洲精品国产自在久久| 久久精品国产亚洲精品| 狠狠色丁香久久婷婷综合_中 | 日韩欧美亚洲综合久久影院Ds| 久久丝袜精品中文字幕| 久久国语露脸国产精品电影| 久久99国产综合精品女同| 狠狠色综合久久久久尤物| 国产精品久久久久久五月尺| 国产成人久久精品一区二区三区 | 久久精品国产亚洲麻豆| 久久久久亚洲精品天堂久久久久久 | 久久精品一本到99热免费| 久久精品草草草| 久久亚洲精品成人无码网站| 国产精品久久久久久搜索| 亚洲欧洲久久久精品| 99久久国语露脸精品国产| 亚洲精品久久久www| 久久精品国产亚洲一区二区| 亚洲国产日韩欧美久久| 麻豆精品久久久一区二区| 狠狠色婷婷久久综合频道日韩| 亚洲国产精久久久久久久| 99久久无色码中文字幕人妻| 99久久伊人精品综合观看| 亚洲精品tv久久久久久久久| 久久久久国产精品嫩草影院| 久久99热只有频精品8| 中文字幕久久亚洲一区| 精品久久人人妻人人做精品| 成人综合伊人五月婷久久| 欧美国产成人久久精品| 久久久久人妻一区精品| 亚洲国产天堂久久综合网站 | 久久人人爽人人爽人人爽| 久久精品国产99久久香蕉| 久久91精品久久91综合| 青草国产精品久久久久久|