正向代理和反向代理

一、什麼是代理服務器(Proxy Serve)?

見名知意:就是原服務器通過代理服務器去做一些操作。

二、爲什麼使用代理服務器?

  1. 提高訪問速度

    可以將目標主機返回的數據存儲在代理服務器中,下一次再訪問相同的站點數據時,直接從代理服務器的硬盤中讀取。

  2. 防火牆作用

    所有的客戶機請求都必須通過代理服務器訪問遠程站點,避免直接與目標服務器接觸。
    類似防火牆,可以在代理服務器上設限,過濾掉某些不安全信息。

    同理:在訪問其他人的服務器時,也可以用多層代理服務器,防止被訪問者查出直接攻擊對象~~

  3. 突破訪問限制

    互聯網上有許多開發的代理服務器,客戶機在訪問受限時,可通過不受限的代理服務器訪問目標站點。
    例如:VPN代理,VPN服務器。

三、正向代理與反向代理

  • 正向代理

    正向代理(forward proxy) ,一個位於客戶端和原始服務器之間的服務器,爲了從原始服務器取得內容,客戶端向代理髮送一個請求並制定目標(原始服務器),然後代理向原始服務器轉發請求並將獲得的內容返回給客戶端,客戶端才能使用正向代理。我們平時說的代理就是指正向代理。
    簡單一點:A向C借錢,由於一些情況不能直接向C借錢,於是A想了一個辦法,他讓B去向C借錢,這樣B就代替A向C借錢,A就得到了C的錢,C並不知道A的存在,B就充當了A的代理人的角色。

  • 反向代理

    反向代理(Reverse Proxy),以代理服務器來接受internet上的連接請求,然後將請求轉發給內部網絡上的服務器,並將從服務器上得到的結果返回給internet上請求的客戶端,此時代理服務器對外表現爲一個反向代理服務器。
    理解起來有些抽象,可以這麼說:A向B借錢,B沒有拿自己的錢,而是悄悄地向C借錢,拿到錢之後再交給A,A以爲是B的錢,A並不知道C的存在。

  • 正向代理和反向代理的區別

位置不同
正向代理,架設在客戶機和目標主機之間;
反向代理,架設在服務器端;
代理對象不同
正向代理,代理客戶端,服務端不知道實際發起請求的客戶端;
反向代理,代理服務端,客戶端不知道實際提供服務的服務端;

備註:
正向代理–HTTP代理爲多個人提供VPN服務;類似:客戶–>代理–>服務器
反向代理–百度外賣爲多個商戶提供平臺給某個用戶提供外賣服務。類似:多個服務器–>代理–>客戶

用途不同
正向代理,爲在防火牆內的局域網客戶端提供訪問Internet的途徑;
反向代理,將防火牆後面的服務器提供給Internet訪問;
安全性不同
正向代理允許客戶端通過它訪問任意網站並且隱藏客戶端自身,因此必須採取安全措施以確保僅爲授權的客戶端提供服務;
反向代理都對外都是透明的,訪問者並不知道自己訪問的是哪一個代理。

正向代理的應用
1. 訪問原來無法訪問的資源
2. 用作緩存,加速訪問速度
3. 對客戶端訪問授權,上網進行認證
4. 代理可以記錄用戶訪問記錄(上網行爲管理),對外隱藏用戶信息

反向代理的應用
1. 保護內網安全
2. 負載均衡
3. 緩存,減少服務器的壓力
Nginx作爲最近較火的反向代理服務器,安裝在目的主機端,主要用於轉發客戶機請求,後臺有多個http服務器提供服務,nginx的功能就是把請求轉發給後臺的服務器,決定哪臺目標主機來處理當前請求。

四、總結

正向代理隱藏真實客戶端,反向代理隱藏真實服務端。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章