1. 什么是代理
代理本質上是一個服務器,可以類比為一個中介。
為了A訪問到B,中間插入一個 C,C 就是代理。
2. 透明代理
應用:防火牆、行為管理軟件
主要作用:
透明代理的意思是客戶端根本不需要知道有代理服務器的存在,它改變你的request fields(報文),並會傳送真實IP,多用於路由器的NAT轉發中。注意,加密的透明代理則是屬於匿名代理,意思是不用設置使用代理了,例如Garden 2程序。
3. 正向代理
應用:vpn、翻牆上網
主要作用:
(1)正向代理的典型用途是為在防火牆內的局域網客戶端提供訪問Internet的途徑。
(2)正向代理還可以使用緩沖特性(由mod_cache提供)減少網絡使用率。
(3)代理可以記錄用戶訪問記錄(上網行為管理),對外隱藏用戶信息。
工作原理:如下圖我們可以通過配置代理服務器來將我們的請求代為發送到目標服務器,再由代理服務器將目標服務器的響應轉發回本地。
特點:
1、隱藏了真實的請求客戶端,服務端不知道真實的客戶端是誰,客戶端請求的服務都由代理服務器代替來請求。
2、客戶端必須設置正向代理服務器,當然前提是要知道正向代理服務器的IP地址,還有代理程序的端口。
舉個例子,國內的用戶想要訪問 Google 時,會被阻擋。所以這個時候把請求發送到另外一個代理服務器(可以訪問 Google 的服務器)上,由其代為轉發請求和接收響應內容。
常用代理軟件:CCProxy
4. 反向代理
應用:安全、負載均衡方面的常用配置
主要作用:
(1)保證證內網的安全,可以使用反向代理提供WAF功能,阻止web攻擊,大型網站,通常將反向代理作為公網訪問地址,Web服務器是內網。
(2)負載均衡,通過反向代理服務器來優化網站的負載。
工作原理:反向代理對外的表現都是透明的,客戶不知道自己訪問的是代理服務器,客戶端也不需要任何配置就可以訪問。當我們配置好代理服務器后,反向代理(Reverse Proxy)實際運行方式是指以代理服務器來接受internet上的連接請求,然后將請求轉發給內部網絡上的服務器,並將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個服務器。
5. 正向代理和反向代理區別
·正向代理中 ,proxy和client同屬一個lan,對server透明。正向代理需要配置在client端;
·反向代理中,proxy和server同屬一個lan,對client透明。 反向代理需要配置在proxy端;
·實際上proxy在兩種代理中做的事都是代為請求和響應,不過從結構上看正好左右相反,故稱為正反向代理。
參考
https://www.cnblogs.com/Anker/p/6056540.html
https://zhuanlan.zhihu.com/p/25707362