代理服务技术-正向代理、方向代理、透明代理简析
什么是代理?
代理服務技術是一門很古老的技術,是在互聯網早期出現就使用的技術。一般實現代理技術的方式就是在服務器上安裝代理服務軟件,讓其成為一個代理服務器,從而實現代理技術。代理本質上是一個服務器,可以類比為一個中介。為了A訪問到B,中間插入一個 C,C 就是代理。常用的代理技術分為正向代理、反向代理和透明代理。本文就是針對這三種代理來講解一些基本原理和具體的適用范圍,便于大家更深入理解代理服務技術。
正向代理
一般情況下,如果沒有特別說明,代理技術默認說的是正向代理技術。關于正向代理的概念如下:
正向代理(forward)是一個位于客戶端【用戶A】和原始服務器(origin server)【服務器B】之間的服務器【代理服務器Z】,為了從原始服務器取得內容,用戶A向代理服務器Z發送一個請求并指定目標(服務器B),然后代理服務器Z向服務器B轉交請求并將獲得的內容返回給客戶端。客戶端必須要進行一些特別的設置才能使用正向代理。
主要應用
VPN、FQ上網
主要作用
正向代理的典型用途是為在防火墻內的局域網客戶端提供訪問Internet的途徑。
正向代理還可以使用緩沖特性(由mod_cache提供)減少網絡使用率。
代理可以記錄用戶訪問記錄(上網行為管理),對外隱藏用戶信息。
反向代理
反向代理正好與正向代理相反,對于客戶端而言代理服務器就像是原始服務器,并且客戶端不需要進行任何特別的設置。客戶端向反向代理的命名空間(name-space)中的內容發送普通請求,接著反向代理將判斷向何處(原始服務器)轉交請求,并將獲得的內容返回給客戶端。
反向代理對外的表現都是透明的,客戶不知道自己訪問的是代理服務器,客戶端也不需要任何配置就可以訪問。當我們配置好代理服務器后,反向代理(Reverse Proxy)實際運行方式是指以代理服務器來接受internet上的連接請求,然后將請求轉發給內部網絡上的服務器,并將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個服務器。
主要應用
安全、負載均衡方面的常用配置
主要作用
保證證內網的安全,可以使用反向代理提供WAF功能,阻止web攻擊,大型網站,通常將反向代理作為公網訪問地址,Web服務器是內網。
負載均衡,通過反向代理服務器來優化網站的負載。
透明代理
如果把正向代理、反向代理和透明代理按照人類血緣關系來劃分的話。那么正向代理和透明代理是很明顯堂親關系,而正向代理和反向代理就是表親關系了。透明代理的意思是客戶端根本不需要知道有代理服務器的存在,它改編你的request fields(報文),并會傳送真實IP。注意,加密的透明代理則是屬于匿名代理,意思是不用設置使用代理了。透明代理實踐的例子就是時下很多公司使用的行為管理軟件。
用戶A和用戶B并不知道行為管理設備充當透明代理行為,當用戶A或用戶B向服務器A或服務器B提交請求的時候,透明代理設備根據自身策略攔截并修改用戶A或B的報文,并作為實際的請求方,向服務器A或B發送請求,當接收信息回傳,透明代理再根據自身的設置把允許的報文發回至用戶A或B,如上圖,如果透明代理設置不允許訪問服務器B,那么用戶A或者用戶B就不會得到服務器B的數據。
主要應用
防火墻、行為管理軟件
主要作用
透明代理的意思是客戶端根本不需要知道有代理服務器的存在,它改變你的request fields(報文),并會傳送真實IP,多用于路由器的NAT轉發中。注意,加密的透明代理則是屬于匿名代理,意思是不用設置使用代理了,例如Garden 2程序。
正向代理和反向代理區別
正向代理中 ,proxy和client同屬一個lan,對server透明。正向代理需要配置在client端;
反向代理中,proxy和server同屬一個lan,對client透明。 反向代理需要配置在proxy端;
實際上proxy在兩種代理中做的事都是代為請求和響應,不過從結構上看正好左右相反,故稱為正反向代理。
參考
https://www.cnblogs.com/ranyonsue/p/11187588.html
https://www.cnblogs.com/-abm/p/9894289.html
結語
歡迎關注微信公眾號『碼仔zonE』,專注于分享Java、云計算相關內容,包括SpringBoot、SpringCloud、微服務、Docker、Kubernetes、Python等領域相關技術干貨,期待與您相遇!
總結
以上是生活随笔為你收集整理的代理服务技术-正向代理、方向代理、透明代理简析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转]国内外sns源码搜集
- 下一篇: 怎么创建具有真实纹理的CG场景岩石?