正向代理 (Forward proxy)
forwarProxy.PNG
以上圖為例,假設(shè)Jerry作為公司內(nèi)部局域網(wǎng)的某個(gè)client,他想請(qǐng)求外部server的服務(wù),由于某些原因公司不允許公司內(nèi)部用戶直接連接外部網(wǎng)絡(luò),想要獲取外部網(wǎng)絡(luò)必須通過某個(gè)網(wǎng)關(guān)(gateway),該網(wǎng)關(guān)既能連接內(nèi)部client又能連接外部網(wǎng)絡(luò),因此可將該網(wǎng)關(guān)當(dāng)做“代理(proxy)”,代理的是Jerry這個(gè)Client。對(duì)于server來說,Jerry這個(gè)client是不可見的,它只知道是和proxy通信,無法確切知道是和proxy后的哪個(gè)client通信。
反向代理 (Reverse proxy)
reverseProxy.PNG
以上圖為例,假設(shè)Jerry作為外部client想訪問某個(gè)公司提供的某個(gè)服務(wù),Jerry無需知道該服務(wù)運(yùn)行在某個(gè)server上,因?yàn)樗恍鑼⒄?qǐng)求發(fā)送至proxy,該proxy會(huì)按一定的方式或策略(如負(fù)載均衡)將請(qǐng)求發(fā)往特定的內(nèi)部server,這時(shí)這個(gè)網(wǎng)關(guān)就是一個(gè)反向代理,代理的是server。對(duì)于client來說,具體的某個(gè)server是不可見的(也沒必要),它只知道是和反向proxy通信,無法確切知道是和反向代理后的哪個(gè)server通信。