反向代理和HTTP重定向


1、什么是正向代理(前向代理)?

  在NAT技術(Network Address Translation)出現之前,所有主機無法直接與外網相連,要想上網,需要連接到一台能夠訪問外網的Web服務器,再通過這台服務器訪問外網。而這台Web服務器就叫做“正向代理服務器”。

現在的“翻牆”技術也是如何,我們把請求發給一台可以連接外面世界的Web服務器,由它轉發我們的請求,再將結果返回給我們。這台Web服務器就是“正向代理服務器”。

綜上所述:正向代理服務器是客戶端和目的服務器之間的一個中介,客戶端通過正向代理服務器訪問客戶端原本無法訪問的目標服務器。

2、什么是反向代理?

  客戶端向一個服務器A提交請求后,服務器A偷偷地去服務器B上獲取資源,並返回給客戶端。客戶端天真地以為數據是服務器A給他的。在這過程中,服務器A稱為“反向代理服務器”,服務器B稱為反向代理服務器的“后端服務器”。

3、區別

  兩者最直觀的區別是在用戶的角度。“正向代理”是用戶使用的技術。用戶首先是知道自己要訪問的目標服務器是誰,但由於某種原因無法直接訪問該目標服務器,因此選擇使用正向代理服務器幫忙轉發請求。

  而“反向代理”是服務器使用的技術。用戶向服務器發送請求后,服務器在用戶不知情的情況下去其他服務器上獲取資源並返回給用戶。

4、ATS反向代理緩存

  通過正向代理緩存,Traffic Server為客戶端處理發往遠距離源服務器的web請求。反向代理緩存(又叫服務器加速或虛擬主機托管)和正向代理不同。因為Traffic Server作為源服務器的代理緩存並存儲內容。Traffic Server被配置為用戶直接連接的源服務器(典型的用法是將服務器的主機名解析到Traffic Server)。

5、反向代理作用

  • 為負載過高的源服務器減負
  • 為地理上分散的區域高效的內容分發(CDN)
  • 為包含機密信息的源服務器提供安全屏障

6、為負載過高的源服務器減負

  Traffic Server可以吸收發向源服務器的請求,通過減少源服務器的負載和熱點來改善web服務的速度和質量。訪問流程如下圖:

反向代理的工作方式

  一般情況下當瀏覽器有請求時會直接發送這些請求到源服務器。當Traffic Server工作在反向代理模式,它會在這些請求到達源服務器之前就攔截它們。典型的用法是將源服務器的DNS入口(主機名)解析成Traffic Server的IP地址。當Traffic Server被配置為源服務器,瀏覽器會和Traffic Server連接而非源站。為了避免DNS沖突,源站的主機名和外在DNS主機名必須不同。

下面是Traffic Server處理從客戶端瀏覽器發出的HTTP請求方式:

 

 1. 客戶端瀏覽器向名為www.host.com的主機發起一個http請求。Traffic Server以源服務器的角色接收這個請求(源站對外主機名被解析到ATS上)。

2. Traffic Server在remap.conf文件中定位映射規則並重新映射這個請求到一個指定的源站(realhost.com)

3. Traffic Server建立一個和源站的HTTP連接。

4.如果請求在緩存命中而且內容是有效的,Traffic Server直接從緩存中向客戶端發送被請求的對象。否則,Traffic Server從源站獲取被請求的對象資源,發送給客戶端,同時在緩存中保存一份該對象的拷貝。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM