1. 程式人生 > >反向代理和正向代理

反向代理和正向代理

參考圖解代理

一、正向代理

先不說正向代理的概念,舉個栗子:VPN中的代理伺服器。
我們作為客戶端,首先要設定一個代理伺服器,指定代理伺服器的IP和埠(使用者名稱密碼),這時就可以訪問本來訪問不了的Google就可以訪問了,這是什麼原理呢?

看圖:
正向代理原理圖
圖1.1

使用者A不能直接訪問伺服器B,有可能是DNS解析不了,也有可能是被牆了。這時使用者A想了個辦法,它去聯絡代理服務Z,告訴Z,我想訪問伺服器B,Z說好;然後Z去請求了B,拿到了響應,然後把響應返回給了A。

概念:正向代理就是代理伺服器替代訪問方去訪問目標伺服器,並將目標伺服器的響應返回給訪問方

正向代理的作用:

  1. 翻牆
    翻牆
    圖1.2
  2. 加速訪問
  3. Cache作用
  4. 客戶端授權訪問
    客戶端授權訪問
    圖1.3
  5. 隱藏訪問者的行蹤,肉雞

總結

正向代理是一個位於客戶端和原始伺服器直接的伺服器,代理伺服器對於客戶端是可見的,為了從原始伺服器取得內容,客戶端需要先進行代理配置,然後向代理伺服器傳送請求並制定目標,之後代理伺服器其訪問指定的目標伺服器並把響應內容返回給客戶端。

二、反向代理(Reverse Proxy)

反向代理中,客戶端是不知道反向代理伺服器的存在的,也不需要進行特別的設定,因為反向代理伺服器對於客戶端而已就像原始伺服器一般。
客戶端向反向代理的名稱空間(name-space)中的內容發生普通請求,然後反向代理伺服器將判斷向哪一個原始伺服器轉交(非轉發)請求,並將獲得你 內容返回給客戶端。

反向代理的作用:

  1. 保護和隱藏原始伺服器
    保護和隱藏原始伺服器
    圖2.1
  2. 負載均衡
    負載均衡
    圖2.2
    這時反向代理伺服器就是一個前置機,根據流量和原始伺服器的負載壓力對請求進行動態調整。