前言
小編最近學習Nginx反向代理的知識,主要學到一些基礎性的理論,具體結合項目去理解會非常到位。
學習內容導圖
下面是自己在學習過程中,總結的一張導圖,多少會有一些不全面和理解不透徹的地方,希望以後在深入學習和應用中,有進一步的認識。
正向代理和反向代理
一、是什麼
1.正向代理概念
(1)正向代理類似一個跳板機,代理訪問外部資源。
(2)舉例說明:如果我想連接一個國外的網站Google,但是無法訪問,這時我通過連接一個代理服務器,前提是我必須知道正向代理服務器的IP地址、端口,然後代理服務器從我無法訪問的網站中請求內容後返回給我。
(3)總結說明:正向代理是一個位於客戶端和原始服務器(origin server)之間的服務器,爲了從原始服務器取得內容,客戶端向代理髮送一個請求並指定目標(原始服務器),然後代理向原始服務器轉交請求並將獲得的內容返回給客戶端。客戶端必須要進行一些特別的設置才能使用正向代理。
2.反向代理概念
(1)客戶端無知代理服務器的存在,反向代理對外是透明的,訪問者不知自己訪問的是一個代理服務器,因爲客戶端不要任何配置就可以訪問;
(2)反向代理運行方式:以代理服務器接受Internet上的連接請求,將請求轉發給內部網絡上的服務器,並將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外表現爲一個服務器。
二、實際用途
1.正向代理用途
(1)訪問原來無法訪問的資源,如Google;
(2)可以做緩存,加速訪問資源;
(3)對客戶端訪問授權,上網進行認證;
(4)代理可以記錄用戶訪問記錄(上網行爲管理),對外隱藏用戶信息。
2.反向代理用途
(1)保證內網安全,可以使用反向代理提供WAF功能,組織web攻擊;大型網站通常將反向dialing作爲公網訪問地址,Web服務器是內網;
(2)負載均衡,通過反向代理服務器來優化網站的負載
三、兩者區別
1.正向代理中,Proxy和client同屬一個LAN,對server透明;
2.反向代理中,Proxy和server同屬於一個LAN,對client透明;
小結
總結過後,加上一些博客的借鑑,對於正向代理和反向代理有了一定的認識,同時使用Nginx實現反向代理的部分也需要進一步學習實踐。
感謝您的訪問!