正向代理和反向代理的區別與理解
位置不同
正向代理,架設在客戶機和目標主機之間;
反向代理,架設在服務器端;
代理對象不同
正向代理,代理客戶端,服務端不知道實際發起請求的客戶端;
反向代理,代理服務端,客戶端不知道實際提供服務的服務端;
備註:正向代理–HTTP代理爲多個人提供翻牆服務;反向代理–百度外賣爲多個商戶提供平臺給某個用戶提供外賣服務。
用途不同
正向代理,爲在防火牆內的局域網客戶端提供訪問Internet的途徑;
反向代理,將防火牆後面的服務器提供給Internet訪問;
安全性不同
正向代理允許客戶端通過它訪問任意網站並且隱藏客戶端自身,因此必須採取安全措施以確保僅爲授權的客戶端提供服務;
反向代理都對外都是透明的,訪問者並不知道自己訪問的是哪一個代理。
正向代理的應用
- 訪問原來無法訪問的資源
- 用作緩存,加速訪問速度
- 對客戶端訪問授權,上網進行認證
- 代理可以記錄用戶訪問記錄(上網行爲管理),對外隱藏用戶信
反向代理的應用
- 保護內網安全
- 負載均衡
- 緩存,減少服務器的壓力
- Nginx作爲最近較火的反向代理服務器,安裝在目的主機端,主要用於轉發客戶機請求,後臺有多個http服務器提供服務,nginx的功能就是把請求轉發給後臺的服務器,決定哪臺目標主機來處理當前請求。
總結
正向代理是從客戶端的角度出發,服務於特定用戶(比如說一個局域網內的客戶)以訪問非特定的服務;
反向代理正好與此相反,從服務端的角度出發,服務於非特定用戶(通常是所有用戶),已訪問特定的服務。