為什么是反向代理,什么又是正向代理?
說起Nginx,我們都知道它可以用來做反向代理。那么,到底什么是反向代理,對(duì)應(yīng)的正向代理又是什么呢?這篇文章就帶大家來了解一下。其中反向代理也是系統(tǒng)架構(gòu)的重要組成部分。
說起代理其本質(zhì)上可以理解為中介。當(dāng)A和B不方便進(jìn)行交互時(shí),往往會(huì)引入一個(gè)中間角色C,那么C便是中介,便是代理。
正向代理
正向代理服務(wù)器通常位于客戶端和服務(wù)器之間,類似一個(gè)跳板機(jī),通過代理服務(wù)器可以訪問到目標(biāo)服務(wù)器。
正向代理時(shí),通常,客戶端發(fā)送對(duì)目標(biāo)服務(wù)器的請(qǐng)求,代理服務(wù)器在中間將請(qǐng)求轉(zhuǎn)發(fā)給目標(biāo)服務(wù)器,并將結(jié)果返回給客戶端。
正向代理時(shí)客戶端必須要進(jìn)行一些特別的設(shè)置才能使用。

比如當(dāng)我們想訪問谷歌,但無法直接訪問,這就需要先通過一個(gè)正向代理服務(wù)器,請(qǐng)求到代理服務(wù)器,再由代理服務(wù)器進(jìn)行訪問,并把訪問結(jié)果進(jìn)行返回。在客戶看來,相當(dāng)于直接請(qǐng)求谷歌。
正向代理通常用于如下場(chǎng)景:
訪問原來無法訪問的資源,如google; 使用緩沖特性減少網(wǎng)絡(luò)使用率,加速訪問資源; 對(duì)客戶端訪問授權(quán),上網(wǎng)進(jìn)行認(rèn)證; 代理可以記錄用戶訪問記錄(上網(wǎng)行為管理); 隱藏客戶端身份(目標(biāo)者不知道幕后操縱者是誰);
反向代理
反向代理(Reverse Proxy)與正向代理恰好相反,代理服務(wù)位于服務(wù)器端。
對(duì)客戶端來說,反向代理服務(wù)器就好像是目標(biāo)服務(wù)器。反向代理服務(wù)器接收客戶端發(fā)來的請(qǐng)求,然后將其分發(fā)到內(nèi)網(wǎng)的服務(wù)器,并將內(nèi)網(wǎng)服務(wù)器返回的結(jié)果返回給客戶端。
整個(gè)過程客戶端并不會(huì)感知到反向代理后面的服務(wù),也不需要客戶端做任何設(shè)置,只需要把反向代理服務(wù)器當(dāng)成真正的服務(wù)器就行。

反向代理的用途:
保護(hù)和隱藏原始資源服務(wù)器,防止攻擊,通常將反向代理作為公網(wǎng)訪問地址,Web服務(wù)器是內(nèi)網(wǎng); 負(fù)載均衡,通過反向代理來進(jìn)行服務(wù)器資源的優(yōu)化處理; 加密和SSL加速; 緩存靜態(tài)內(nèi)容; 壓縮、減速上傳、安全、外網(wǎng)發(fā)布等。
正向代理與反向代理的區(qū)別
用途上區(qū)分:
正向代理:正向代理用途是為了在防火墻內(nèi)的局域網(wǎng)提供訪問internet的途徑。 反向代理:反向代理的用途是將防火墻后面的服務(wù)器提供給internet用戶訪問。
安全性區(qū)分:
正向代理:正向代理允許客戶端通過它訪問任意網(wǎng)站并且隱蔽客戶端自身,因此必須采取安全措施來確保僅為經(jīng)過授權(quán)的客戶端提供服務(wù); 反向代理:對(duì)外是透明的,訪問者并不知道自己訪問的是代理。對(duì)訪問者而言,它以為訪問的就是原始服務(wù)器。
透明代理
透明代理比較類似正向代理的功能,客戶端根本不需要知道有代理服務(wù)器的存在,它改變你的request fields(報(bào)文),并會(huì)傳送真實(shí)IP,多用于路由器的NAT轉(zhuǎn)發(fā)中。
比如為了工作效率或者安全,A公司屏蔽了QQ軟件的使用。公司在內(nèi)網(wǎng)和外網(wǎng)的中間插入一個(gè)透明代理,根據(jù)規(guī)則抓取請(qǐng)求內(nèi)容,遇到qq的請(qǐng)求就把它給屏蔽掉,這樣就完成了透明屏蔽。
小結(jié)
正向代理和反向代理的區(qū)別在于代理的對(duì)象不一樣,正向代理的代理對(duì)象是客戶端,反向代理的代理對(duì)象是服務(wù)端。
代理服務(wù)器站在客戶端那邊就是正向代理,代理服務(wù)器站在原始服務(wù)器那邊就是反向代理。
參考文章:
https://blog.csdn.net/u010454030/article/details/78860412
https://juejin.cn/post/6844904064266960903
https://www.cnblogs.com/anker/p/6056540.html
https://blog.csdn.net/qq_28988969/article/details/82982474
https://www.cnblogs.com/taostaryu/p/10547132.html
往期推薦
如果你覺得這篇文章不錯(cuò),那么,下篇通常會(huì)更好。添加微信好友,可備注“加群”(微信號(hào):zhuan2quan)。
和花一輩子都看不清的人,
注定是截然不同的搬磚生涯。



