1辞色、前言
最近工作中用到反向代理愉镰,發(fā)現(xiàn)網(wǎng)絡(luò)代理的玩法還真不少米罚,網(wǎng)絡(luò)背后有很多需要去學(xué)習(xí)。而在此之前僅僅使用了過(guò)代理軟件丈探,曾經(jīng)為了訪(fǎng)問(wèn)google录择,使用了代理軟件,需要在瀏覽器中配置代理的地址。我只知道有代理這個(gè)概念隘竭,并不清楚代理還有正向和反向之分塘秦,于是趕緊學(xué)習(xí)一下,補(bǔ)充一下知識(shí)动看。首先弄清楚什么是正向代理尊剔,什么是反向代理,然后是二者在實(shí)際使用中展示的方式是什么樣的菱皆,最后總結(jié)一下正向代理用來(lái)做什么须误,反向代理可以做什么。
2搔预、正向代理
正向代理類(lèi)似一個(gè)跳板機(jī)霹期,代理訪(fǎng)問(wèn)外部資源。
舉個(gè)例子:
我是一個(gè)用戶(hù)拯田,我訪(fǎng)問(wèn)不了某網(wǎng)站历造,但是我能訪(fǎng)問(wèn)一個(gè)代理服務(wù)器,這個(gè)代理服務(wù)器呢,他能訪(fǎng)問(wèn)那個(gè)我不能訪(fǎng)問(wèn)的網(wǎng)站船庇,于是我先連上代理服務(wù)器,告訴他我需要那個(gè)無(wú)法訪(fǎng)問(wèn)網(wǎng)站的內(nèi)容吭产,代理服務(wù)器去取回來(lái),然后返回給我。從網(wǎng)站的角度鸭轮,只在代理服務(wù)器來(lái)取內(nèi)容的時(shí)候有一次記錄臣淤,有時(shí)候并不知道是用戶(hù)的請(qǐng)求,也隱藏了用戶(hù)的資料窃爷,這取決于代理告不告訴網(wǎng)站邑蒋。
客戶(hù)端必須設(shè)置正向代理服務(wù)器,當(dāng)然前提是要知道正向代理服務(wù)器的IP地址按厘,還有代理程序的端口医吊。
例如之前使用過(guò)這類(lèi)軟件例如CCproxy,http://www.ccproxy.com/ 需要在瀏覽器中配置代理的地址逮京。
總結(jié)來(lái)說(shuō):正向代理 是一個(gè)位于客戶(hù)端和原始服務(wù)器(origin server)之間的服務(wù)器卿堂,為了從原始服務(wù)器取得內(nèi)容,客戶(hù)端向代理發(fā)送一個(gè)請(qǐng)求并指定目標(biāo)(原始服務(wù)器)懒棉,然后代理向原始服務(wù)器轉(zhuǎn)交請(qǐng)求并將獲得的內(nèi)容返回給客戶(hù)端草描。客戶(hù)端必須要進(jìn)行一些特別的設(shè)置才能使用正向代理策严。
正向代理的用途:
(1)訪(fǎng)問(wèn)原來(lái)無(wú)法訪(fǎng)問(wèn)的資源穗慕,如google
(2) 可以做緩存,加速訪(fǎng)問(wèn)資源
(3)對(duì)客戶(hù)端訪(fǎng)問(wèn)授權(quán)享钞,上網(wǎng)進(jìn)行認(rèn)證
(4)代理可以記錄用戶(hù)訪(fǎng)問(wèn)記錄(上網(wǎng)行為管理)揍诽,對(duì)外隱藏用戶(hù)信息
例如CCProxy用途:
3诀蓉、反向代理
初次接觸方向代理的感覺(jué)是栗竖,客戶(hù)端是無(wú)感知代理的存在的暑脆,反向代理對(duì)外都是透明的,訪(fǎng)問(wèn)者者并不知道自己訪(fǎng)問(wèn)的是一個(gè)代理狐肢。因?yàn)榭蛻?hù)端不需要任何配置就可以訪(fǎng)問(wèn)添吗。
反向代理(Reverse Proxy)實(shí)際運(yùn)行方式是指以代理服務(wù)器來(lái)接受internet上的連接請(qǐng)求,然后將請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器份名,并將從服務(wù)器上得到的結(jié)果返回給internet上請(qǐng)求連接的客戶(hù)端碟联,此時(shí)代理服務(wù)器對(duì)外就表現(xiàn)為一個(gè)服務(wù)器。
反向代理的作用:
(1)保證內(nèi)網(wǎng)的安全僵腺,可以使用反向代理提供WAF功能鲤孵,阻止web攻擊
大型網(wǎng)站,通常將反向代理作為公網(wǎng)訪(fǎng)問(wèn)地址辰如,Web服務(wù)器是內(nèi)網(wǎng)普监。
(2)負(fù)載均衡,通過(guò)反向代理服務(wù)器來(lái)優(yōu)化網(wǎng)站的負(fù)載
4琉兜、二者區(qū)別
借用知乎兩張圖來(lái)表達(dá):https://www.zhihu.com/question/24723688
5、nginx的反向代理
nginx支持配置反向代理,通過(guò)反向代理實(shí)現(xiàn)網(wǎng)站的負(fù)載均衡勺届。這部分先寫(xiě)一個(gè)nginx的配置歹垫,后續(xù)需要深入研究nginx的代理模塊和負(fù)載均衡模塊。
nginx通過(guò)proxy_pass_http 配置代理站點(diǎn)梧疲,upstream實(shí)現(xiàn)負(fù)載均衡允睹。
參考資料:
http://z00w00.blog.51cto.com/515114/1031287
http://blog.csdn.net/m13666368773/article/details/8060481
冷靜思考,勇敢面對(duì)幌氮,把握未來(lái)缭受!