前言
使用Nginx做反向代理,部署負載均衡。為啥用Nginx做反向代理?反向代理是什么意思?那么又什么是正向代理呢?一連串的問題把我給整懵了。不該如何回答?,F(xiàn)在有時間,就慢慢的解決一下這些問題吧。
正向代理及反向代理
正向代理
我們還是先搞清楚啥是正向代理。我們先說個簡單而熟悉的事情吧,大家肯定都知道代購。代購是一個什么角色呢?處于消費者和生產(chǎn)者之間。更像一個紐帶,一個中間商。在這里他叫”代購”,程序中可以叫他”代理”。每一個代購只針對某部分特殊的產(chǎn)品。然而通過代購去購買的人有是各式各樣不同的人。其中原理就是我要買某某國外的化妝品,買不到,找到對應的代購,他去買了然后再給我。我們可以理解這在程序中是正向代理。
?
?
?
在程序當中,當我們需要訪問某些網(wǎng)站但無法訪問的時候,就比如訪問國外的一些論壇,無法訪問。這是我們可以再香港或者沒過搭建一個服務器,然后通過搭建的服務器再去訪問想要訪問的網(wǎng)站,這就是所謂的正向代理了。(
客戶端-正向代理服務器-原始服務器。配合代購的例子,還是比較好理解的了。買不到某物,訪問不到某網(wǎng)站,通過中間的代購或者服務器來達到我買到某物或者客戶端訪問某網(wǎng)站的目的,就可以說是代理了。
)
?
比如我現(xiàn)在目前使用的***軟件,就是通過配置美國那邊的服務器配置來達到訪問Google資源的目的,它這個工具就充當了一個正向代理的作用。
反向代理
說完正向代理再看反向代理,反向代理恰好和正向代理有點相反了。通過正向代理訪問某些網(wǎng)站時,那些網(wǎng)站是不知道實際訪問的客戶端的,這里隱藏了真實的客戶端。而反向代理,卻是隱藏了真實的服務器,客戶端通過反向代理去訪問,并不知道訪問的是哪一個服務器。
?
?
這里當客戶端訪問服務器的時候先經(jīng)過反向代理服務器,然后反向代理服務器轉(zhuǎn)發(fā)請求給服務器,至于是服務器一還是服務器二還是服務器三的話,這個客戶端就不知道了??蛻舳酥灰埱筮^來得到需要的東西就ok。這一過程也就是反向代理了。
使用場景
上面我們詳細介紹了反向代理及正向代理。那到底有什么用呢?有些地方為什么用反向代理呢?
首先我們看正向代理,具體可以干啥:
*
* 訪問原來無法訪問的資源,通過***訪問google資源
* 使用使用緩沖特性,可以做緩存,加速訪問資源
* 對客戶端訪問授權(quán),上網(wǎng)進行認證
那么反向代理呢?
*
* 保護內(nèi)網(wǎng)的安全,隱藏內(nèi)網(wǎng)服務器地址,防止Web的攻擊
* 部署負載均衡,通過反向代理部署負載均衡優(yōu)化網(wǎng)站
Nginx反向代理
這里我們提一下Nginx,比較常見的就是使用Nginx做反向代理或者部署負載均衡。其中Nginx僅僅只是實現(xiàn)反向代理的工具而已,具體Nginx的安裝及使用在
之前的文章(Nginx安裝與代理) <https://www.cnblogs.com/hulizhong/p/10672918.html>有提過。Nginx
(engine x) 是一個高性能的HTTP和反向代理服務器,Nginx是一款輕量級的Web
服務器/反向代理服務器及電子郵件代理服務器。其特點是占有內(nèi)存少,并發(fā)能力強。
總結(jié)
不過說實話反向代理正向代理都是其名詞概念,實際上需要知道的是其內(nèi)容,以及到底怎么用用來干啥的。不要每天喊著使用Nginx進行反向代理部署網(wǎng)站,到最后不知道啥是反向代理,啥是正向代理。這就有點小尷尬了。只有了解的更多一點才會用的更靈活一點。
?
振作低沉的士氣,鼓舞消沉的信心,迸發(fā)澎湃的激情,舞動勤奮的雙手,用努力去創(chuàng)造奇跡,用行動去開拓未來,精彩就一定會呈現(xiàn)!
?
?
歡迎大家掃描下方二維碼,和我一起學習更多的C#知識
?
?
?
熱門工具 換一換