Nginx正向代理和反向代理區別介紹

Nginx是一箇高性能的HTTP和反向代理Web服務器,同時也提供了IMAP/POP3/SMTP服務。它具有佔用內存少、啓動快、高併發能力強等優勢,在互聯網項目中被廣泛應用。本文主要介紹下Nginx正向代理和反向代理的區別有哪些。

正向代理是一箇位於客戶端和原始服務器(oigin see)之前的服務器,爲了從原始服務器獲取內容,客戶端向代理髮送一箇請求並指定目標,然後代理服務器向原始服務器轉交請求並將獲得的內容返回給客戶端。客戶端必須設置正向代理服務器。

Nginx反向代理正好與正向代理相反,對於客戶端而言代理服務器就像是原始服務器,並且客戶端不需要進行任何特別的設置。客戶端向反向代理髮送普通請求,接着反向代理將判斷向何處(後端節點)轉交請求,並將獲得的內容返回給客戶端。

通常的代理服務器,只用於代理內部網絡對Intenet的連接請求,客戶機必須指定代理服務器,並將本來要直接發送到Web服務器上的http請求發送到代理服務器中,當一箇代理服務器能夠代理外部網絡上的主機,訪問內部網絡時,這種代理服務的方式成爲反向代理服務。

從上面內容可以看出,Nginx正向代理和反向代理最關鍵的兩點區別爲是否指定目標服務器和客戶端是否要做設置。

此外,Nginx正向代理和反向代理在用途上也有明顯的區別。正向代理用途是爲了在防火牆內的局域網提供訪問Intenet的途徑,還可以使用緩衝特性減少網絡使用率。反向代理的用途是將防火牆後面的服務器提供給Intenet用戶訪問,同時還可以完成諸如負載均衡等功能。

Nginx還可以作爲靜態Web服務器來部署靜態資源。這裏所說的靜態資源是指在服務端真實存在,並且能夠直接展示的一些文件,比如常見的html頁面、css文件、js文件、圖片、視頻等資源。

相對於Tomct,Nginx處理靜態資源的能力更加高效,所以在生產環境下,一般都會將靜態資源部署到Nginx中。

將靜態資源部署到Nginx非常簡單,只需要將文件複製到Nginx安裝目錄下的html目錄中即可。

see {

listen 80; #監聽端口

see_nme loclhost; #服務器名稱

loction / { #匹配客戶端請求ul

oot html; #指定靜態資源根目錄

index index.html; #指定默認首頁

}

}