今天在看關於nginx,nginx是個高性能的HTTP 和反向代理服務器。對於咱們作android開發的童鞋來講,有點懵逼,網上搜羅了下資料,什麼是反向代理服務器,代理服務器咱們常常接觸到,原來是如此:android
說到代理服務器,大部分人都應該比較熟悉了。記得在學校的時候由於校園網沒法訪問國外網站,所以常常使用代理來訪問國外的網站。可是提到反向代理服務器可能大部分人就比較陌生,對於通常的代理服務器與反向代理服務器的區別估計也不是那麼清楚。nginx
因工做須要就研究了一下,搞清了是怎麼回事,這裏作個筆記,也爲你們所共享。後端
代理服務器一般分爲兩類,即轉發代理(forward proxy)服務器和反向代理(reverse proxy)服務器。轉發代理服務器又一般簡稱爲代理服務器,咱們常提到的代理服務器就指的是轉發代理服務器。瀏覽器
轉發代理服務器緩存
普通的轉發代理服務器是客戶端與原始服務器之間的一箇中間服務器。爲了從原始服務器獲取內容,客戶端發送請求到代理服務器,而後代理服務器從原始服務器中獲取內容再返回給客戶端。客戶端必須專門地配置轉發代理來訪問其餘站點,如在瀏覽器中配置代理服務器地址及端口號等。安全
轉發代理服務器的一個典型應用就是爲處於防火牆後的內部客戶端提供訪問外部Internet網,好比校園網用戶經過代理訪問國外網站,公司內網用戶經過公司的統一代理訪問外部Internet網站等。轉發代理服務器也可以使用緩存來緩解原始服務器負載,提供響應速度。服務器
反向代理服務器網絡
而反向代理服務器則相反,在客戶端來看它就像一個普通的Web服務器。客戶端不要作任何特殊的配置。客戶端發送普通的請求來獲取反向代理所屬空間的內容。反向代理決定將這些請求發往何處,而後就好像它自己就是原始服務器同樣將請求內容返回。負載均衡
反向代理服務器的一個典型應用就是爲處於防火牆後的服務器提供外部Internet用戶的訪問。反向代理可以用於在多個後端服務器提供負載均衡,或者爲較慢的後端服務器提供緩存。此外,反向代理還可以簡單地將多個服務器映射到同一個URL空間。性能
二者區別
二者的相同點在於都是用戶和服務器之間的中介,完成用戶請求和結果的轉發。主要的不一樣在於:
(1)轉發代理的內部是客戶端,而反向代理的內部是服務器。即內網的客戶端經過轉發代理服務器訪問外部網絡,而外部的用戶經過反向代理訪問內部的服務器。
(2)轉發代理一般接受客戶端發送的任何請求,而反向代理一般只接受到指定服務器的請求。如校園網內部用戶能夠經過轉發代理訪問國外的任何站點(若是不加限制的話),而只有特定的請求才發往反向代理,而後又反向代理髮往內部服務器。
版權全部: 非特殊聲明,均爲本網站原創文章,轉載請指明出處: 企業網D1net
所謂的反向代理就是指代理服務器來接受internet上的鏈接請求,而後將請求轉發給內部網絡上的服務器,並將從服務器上獲得的結果返回給internet上請求鏈接的客戶端,此時代理服務器對外就表現爲一個Web服務器,可是此服務器上不存在任何資源,用戶所請求的數據所有在內部網絡中,所以若是受到被人的攻擊,直接攻向的目標是反向代理服務器,內網數據不會直接受到破壞。
反向代理服務器一個很好的應用是CDN(Content Delivery Network),即就是內容分發網絡。基本思路是儘量避開互聯網上有可能影響數據傳輸速度和穩定性的瓶頸和環節,使內容傳輸的更快、更穩定。經過在網絡各處放置反向代理節點服務器所構成的在現有的互聯網基礎之上的一層智能虛擬網絡,CDN系統可以實時地根據網絡流量和各節點的鏈接、負載情況以及到用戶的距離和響應時間等綜合信息將用戶的請求從新導向離用戶最近的服務節點上。其目的是使用戶可就近取得所需內容,有效解決網絡擁擠的情況,提升用戶訪問網站的響應速度。
反向代理(Reverse Proxy)
是指以代理服務器來接受internet上的鏈接請求,而後將請求轉發給內部網絡上的服務器,並將從服務器上獲得的結果返回給internet上請求鏈接的客戶端,此時代理服務器對外就表現爲一個服務器。
當一個代理服務器可以代理外部網絡上的主機,訪問內部網絡時,這種代理服務的方式稱爲反向代理服務。此時代理服務器對外就表現爲一個Web服務器,外部網絡就能夠簡單把它看成一個標準的Web服務器而不須要特定的配置。不一樣之處在於,這個服務器沒有保存任何網頁的真實數據,全部的靜態網頁或者CGI程序,都保存在內部的Web服務器上。所以對反向代理服務器的攻擊並不會使得網頁信息遭到破壞,這樣就加強了Web服務器的安全性。
轉載自:https://blog.csdn.net/csdn_chb/article/details/53296385