一、概念
正向代理:由客戶機代理,把請求轉發給服務端。具體來說,正向代理是一個位於客戶端和原始服務器(origin server)之間的服務器,爲了從原始服務器取得內容,客戶端向代理髮送一個請求並指定目標(原始服務器),然後代理向原始服務器轉交請求並將獲得的內容返回給客戶端。客戶端必須要進行一些特別的設置才能使用正向代理。
反向代理:服務器把接受的請求轉發給其他機器。
二、用途
1、正向代理:
(1)訪問原來無法訪問的資源,如google。
(2)可以做緩存,加速訪問資源。
(3)對客戶端訪問授權,上網進行認證。
(4)代理可以記錄用戶訪問記錄(上網行爲管理),對外隱藏用戶信息。
2、反向代理:
(1)隱藏真實後端服務:提升安全性。
(2)負載均衡集羣:基於負載策略。
(3)高可用集羣。
(4)緩存靜態內容實現動靜分離。
(5)安全限流。
(6)靜態文件壓縮。
(7)解決多個服務跨域問題。
(8)合併靜態請求(HTTP/2.0後已經被弱化)。
(9)防火牆。
(10)SSL以及http2。
三、區別
- 正向代理中代理的過程是客戶端,代理機器是作爲一個訪問客戶的身份;而反向代理中代理機器是作爲服務身份。
- 正向代理中代理的過程是客戶端,服務端對代理的存在無感知;而在反向代理中客戶機對代理的存在無感知。