正向代理是大家最常接觸到的代理模式
正向代理最大的特點(diǎn)是客戶端非常明確要訪問的服務(wù)器地址,服務(wù)器只清楚請(qǐng)求來(lái)自哪個(gè)代理服務(wù)器,而不清楚來(lái)自哪個(gè)具體的客戶端;正向代理模式屏蔽或者隱藏了真實(shí)客戶端信息

正向代理:
客戶端->代理服務(wù)器->服務(wù)器地址
總的來(lái)說,正向代理代理的是“客戶端”,是一個(gè)位于客戶端和原始服務(wù)器之間的服務(wù)器,為了從原始服務(wù)器取得內(nèi)容,客戶端向代理發(fā)送一個(gè)請(qǐng)求并指定目標(biāo)(原始服務(wù)器),然后代理向原始服務(wù)器轉(zhuǎn)交請(qǐng)求并將獲得的內(nèi)容返回客戶端??蛻舳吮仨氁M(jìn)行一些特別的設(shè)置才能使用正向使用正向代理。
正向代理的用途:
(1)訪問原來(lái)無(wú)法訪問的資源,如Google
(2) 可以做緩存,加速訪問資源
(3)對(duì)客戶端訪問授權(quán),上網(wǎng)進(jìn)行認(rèn)證
(4)代理可以記錄用戶訪問記錄(上網(wǎng)行為管理),對(duì)外隱藏用戶信息
反向代理:
多個(gè)客戶端給服務(wù)器發(fā)送的請(qǐng)求,Nginx服務(wù)器接收之后,按照一定的規(guī)則分發(fā)給了后端的業(yè)務(wù)處理服務(wù)器進(jìn)行處理了,此時(shí),請(qǐng)求的來(lái)源是客戶端,但是請(qǐng)求具體來(lái)自哪臺(tái)服務(wù)器處理的并不明確了,Nginx扮演的就是一個(gè)反向代理的角色。

客戶端是無(wú)感知代理的存在的,反向代理對(duì)外都是透明的,訪問者并不知道自己訪問的是一個(gè)代理。因?yàn)榭蛻舳瞬恍枰魏闻渲镁涂梢栽L問。
反向代理,"它代理的是服務(wù)端",主要用于服務(wù)器集群分布式部署的情況下,反向代理隱藏了服務(wù)器的信息。
反向代理的作用:
(1)保證內(nèi)網(wǎng)的安全,通常將反向代理作為公網(wǎng)訪問地址,Web服務(wù)器是內(nèi)網(wǎng)
(2)負(fù)載均衡,通過反向代理服務(wù)器來(lái)優(yōu)化網(wǎng)站的負(fù)載
項(xiàng)目開發(fā)場(chǎng)景:
通常情況下,我們?cè)趯?shí)際項(xiàng)目操作時(shí),正向代理和反向代理很有可能會(huì)存在在一個(gè)應(yīng)用場(chǎng)景中,正向代理代理客戶端的請(qǐng)求去訪問目標(biāo)服務(wù)器,目標(biāo)服務(wù)器是一個(gè)反向單利服務(wù)器,反向代理了多臺(tái)真實(shí)的業(yè)務(wù)處理服務(wù)器。具體的拓?fù)鋱D如下:

正向代理和反向代理的區(qū)別:
直接上圖了

幾種常用的web服務(wù)器對(duì)比:
