正向代理和反向代理伺服器的區別和聯繫

那麼首先介紹下概念:

正向代理:一個位於客戶端和原始伺服器之間的伺服器,客戶端向代理髮送一個請求並指定一個目標(原始伺服器,因此需要在客戶端做特殊配置),然後代理向原始伺服器轉交請求並將獲得的內容返回給客戶端。

反向代理:是指以代理伺服器來接受Internet上的鏈接請求,然後將請求轉交給內部伺服器,並將從伺服器上的得到的結果返回給Internet上請求連接的客戶端,此時代理伺服器對外就表現為一台伺服器。

說到這裡,我們還是無法區分他們的區別,還是很模糊對吧,來接著說:

當一個代理伺服器能夠代理外部網路上的主機,訪問內部網路時,這種就叫做反向代理。

當一個伺服器能夠代理內部網路,訪問外網則叫做正向代理(代理)。

那麼他們的差異是什麼呢?,來看看

正向代理允許客戶端通過它訪問任意網路並且隱藏客戶端自身,他就像一個客戶端的一個代理。

反向代理對外時透明的,訪問者並不知道訪問的是一個伺服器的代理。

總結:說白了所謂正向代理就是代理客戶端或者一個區域網中的主機來訪問伺服器的,可以理解為他是為客戶端訪問網路的一個代理,那麼當它訪問一個伺服器時,在伺服器端就只知道正向代理的ip,並不知道客戶端的ip。反向代理就是一個服務端代理,一個請求到達時,會先到達反向代理伺服器,然後在轉交給原始伺服器,那麼對於客戶來說他就只知道反向代理伺服器的ip,並不知道原始伺服器的地址。其實啊,我個人覺得,他們的工作重點一個是幫助客戶端發請求的,一個是幫助服務端接受請求並轉發的。

推薦閱讀:

Nginx基本配置備忘
10 分鐘內快速構建能夠承載海量數據的 NGINX 日誌分析與報警平台
8分鐘帶你深入淺出搞懂Nginx
Nginx源碼中值得學習的編程風格有哪些?
Nginx結合Tomat8負載均衡,利用Redis實現Tomcat8的session共享

TAG:代理伺服器 | Nginx | 反向代理 |