正向代理與反向代理總結
轉載自:正向代理與反向代理總結
1、前言
最近工作中用到反向代理,發現網路代理的玩法還真不少,網路背後有很多需要去學習。而在此之前僅僅使用了過代理軟體,曾經為了訪問google,使用了代理軟體,需要在瀏覽器中配置代理的地址。我只知道有代理這個概念,並不清楚代理還有正向和反向之分,於是趕緊學習一下,補充一下知識。首先弄清楚什麼是正向代理,什麼是反向代理,然後是二者在實際使用中展示的方式是什麼樣的,最後總結一下正向代理用來做什麼,反向代理可以做什麼。
2、正向代理
正向代理類似一個跳板機,代理訪問外部資源。
舉個例子:
我是一個使用者,我訪問不了某網站,但是我能訪問一個代理伺服器,這個代理伺服器呢,他能訪問那個我不能訪問的網站,於是我先連上代理伺服器,告訴他我需要那個無法訪問網站的內容,代理伺服器去取回來,然後返回給我。從網站的角度,只在代理伺服器來取內容的時候有一次記錄,有時候並不知道是使用者的請求,也隱藏了使用者的資料,這取決於代理告不告訴網站。
客戶端必須設定正向代理伺服器,當然前提是要知道正向代理伺服器的IP地址,還有代理程式的埠。
例如之前使用過這類軟體例如CCproxy,http://www.ccproxy.com/ 需要在瀏覽器中配置代理的地址。
總結來說:正向代理 是一個位於客戶端和原始伺服器(origin server)之間的伺服器,為了從原始伺服器取得內容,客戶端向代理髮送一個請求並指定目標(原始伺服器),然後代理向原始伺服器轉交請求並將獲得的內容返回給客戶端。客戶端必須要進行一些特別的設定才能使用正向代理。
正向代理的用途:
(1)訪問原來無法訪問的資源,如google
(2) 可以做快取,加速訪問資源
(3)對客戶端訪問授權,上網進行認證
(4)代理可以記錄使用者訪問記錄(上網行為管理),對外隱藏使用者資訊
例如CCProxy用途:
3、反向代理
初次接觸方向代理的感覺是,客戶端是無感知代理的存在的,反向代理對外都是透明的,訪問者者並不知道自己訪問的是一個代理。因為客戶端不需要任何配置就可以訪問。
反向代理(Reverse Proxy)實際執行方式是指以代理伺服器來接受internet上的連線請求,然後將請求轉發給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連線的客戶端,此時代理伺服器對外就表現為一個伺服器。
反向代理的作用:
(1)保證內網的安全,可以使用反向代理提供WAF功能,阻止web攻擊
大型網站,通常將反向代理作為公網訪問地址,Web伺服器是內網。
(2)負載均衡,通過反向代理伺服器來優化網站的負載
4、二者區別
借用知乎兩張圖來表達:https://www.zhihu.com/question/24723688
5、nginx的反向代理
nginx支援配置反向代理,通過反向代理實現網站的負載均衡。這部分先寫一個nginx的配置,後續需要深入研究nginx的代理模組和負載均衡模組。
nginx通過proxy_pass_http 配置代理站點,upstream實現負載均衡。
參考資料:
相關文章
- 正向代理與反向代理
- 反向代理與正向代理
- 圖文總結:正向代理與反向代理
- 圖解正向代理與反向代理圖解
- 正向代理和反向代理
- nginx正向代理、反向代理Nginx
- 反向代理與正向代理差異分析
- 【代理】正向代理、反向代理、透明代理
- 淺析正向代理與反向代理 海外代理IP介紹
- Nginx 學習系列(一) ------------- 正向代理與反向代理Nginx
- Nginx之路--配置正向代理、反向代理Nginx
- 反向代理和正向代理區別
- Nginx正向代理和反向代理配置Nginx
- 圖解正向代理、反向代理、透明代理圖解
- 正向代理和反向代理的形象理解
- 什麼是正向代理和反向代理?
- 正向代理與反向代理的區別【Nginx讀書筆記】Nginx筆記
- 什麼是反向代理,什麼又是正向代理?
- 正向代理和反向代理的本質區別
- 什麼是正向代理?什麼是反向代理?
- 我們們來聊聊正向代理和反向代理
- 正向代理,反向代理和透明代理的原理和區別!
- linux下正向代理/反向代理/透明代理使用說明Linux
- 關於叢集與分散式,反向代理正向代理的概念以及叢集與反向代理伺服器之間的關係分散式伺服器
- 基於Apache搭建HTTP HTTPS 正向代理 反向代理伺服器ApacheHTTP伺服器
- 反向代理是什麼?和正向代理有什麼區別呢?
- Web前端培訓教程學習路線影片原始碼課件:正向代理與反向代理Web前端原始碼
- 代理與反射總結反射
- 反向代理學習筆記(一) Nginx與反向代理緒論筆記Nginx
- 代理與反向代理、負載均衡和快取負載快取
- 四層反向代理和七層反向代理
- nginx 做正向代理配置Nginx
- Nginx反向代理Nginx
- nginx 反向代理Nginx
- RHEL6下squid代理之正向代理UI
- Nginx-正向代理實現Nginx
- Nginx 教程二:利用nginx搭建靜態檔案服務、正向代理伺服器、反向代理伺服器Nginx伺服器
- 代理伺服器與反向代理伺服器的區別伺服器