「故事」VPN、反向代理到底skr啥


「故事」VPN、反向代理到底skr啥

今天是週末,二毛去找畢業同學敘舊聊天,在回來住房的路上看見二丫在貼小廣告。

「故事」VPN、反向代理到底skr啥



「故事」VPN、反向代理到底skr啥


「故事」VPN、反向代理到底skr啥


「故事」VPN、反向代理到底skr啥


「故事」VPN、反向代理到底skr啥


「故事」VPN、反向代理到底skr啥


兩人回去後,吃著西瓜,喝著冰闊樂聊了起來。


「故事」VPN、反向代理到底skr啥


「故事」VPN、反向代理到底skr啥


「故事」VPN、反向代理到底skr啥


「故事」VPN、反向代理到底skr啥


「故事」VPN、反向代理到底skr啥


正向代理

正向代理(forward proxy):是一個位於客戶端和目標服務器之間的代理服務器。客戶端訪問目標服務器時,不是直接訪問,而是通過代理服務器去訪問並獲取結果,之後再把結果返回給客戶端。

這種代理其實在生活中是比較常見的,VPN就是典型的正向代理,其用到的就是代理技術。


「故事」VPN、反向代理到底skr啥



打個比方。有時候,用戶想要訪問某國外網站,該網站無法在國內直接訪問,但是我們可以訪問到一個代理服務器,這個代理服務器可以訪問到這個國外網站。這樣呢,用戶對該國外網站的訪問就需要通過代理服務器來轉發請求,並且該代理服務器也會將請求的響應再返回給用戶。這個上網的過程就是用到了正向代理。

再如現在的情況,站在房東的角度舉例子:你就相當於PC電腦,中介相當於代理服務器,租客就相當於WEB服務器。

你想直接找到租客,就相當於大陸PC電腦想訪問Google這臺WEB服務器一樣,會404 Not Found。所以得用中介(我是波妞。滑稽.gif),即代理服務器才行。


「故事」VPN、反向代理到底skr啥


「故事」VPN、反向代理到底skr啥


正向代理的作用

隱藏客戶端真實IP地址

通過使用正向代理的方式隱藏自己的IP,以免洩露信息。按租房的情況,就是房東可以不用把自己的手機發布出去,免受接電話的困擾,轉而讓代理去處理這樣的事情。

突破訪問限制

通過代理服務器,可以突破自身IP訪問限制,訪問國外網站如Google、Youtube等。即,房東可以通過中介,來將信息帶到原本接觸不到的人的面前。

提高訪問速度

通常代理服務器都設置一個較大的硬盤緩衝區,會將部分請求的響應保存到緩衝區中,當其他用戶再訪問相同的信息時, 則直接由緩衝區中取出信息,傳給用戶,以提高訪問速度。即,租房中介是專業介紹租房的,經驗積累的豐富,三言兩語就能把租房的情況說的明明白白。


「故事」VPN、反向代理到底skr啥


「故事」VPN、反向代理到底skr啥


反向代理

英文為 reverse proxy,也是一種代理服務器。

作用過程:客戶端向某個部署有反向代理的網站發起請求,該請求就會先到反向代理服務器,然後反向代理會將請求轉發給內網中的web服務器,web服務器處理完之後,把結果通過反向代理服務器返回給客戶端。

這個過程,反向代理服務器和web服務器作為一個整體對客戶端提供服務,客戶端是不知道反向代理服務器的存在的,客戶端只關心能夠得到想要信息就好了。

其中反向代理服務器向web服務器轉發請求的過程,也可以稱為負載均衡。

這一個知識點可以看看我上面寫的文章《通俗易懂解釋負載均衡》。總的來說,負載均衡是反向代理的一種實現。


「故事」VPN、反向代理到底skr啥



也可以在租房這個問題上舉例子,不過這次是站在租客的角度:反向代理服務器就是中介,web服務器是房東,客戶端就是租客。

租客去租房,找到了中介,通過實地查看後高興的簽下這套租房。租客籤的租約、交的房租都是面向中介的,而中介將這些租客的交房租的請求等再轉發給房東,房東收到錢後就反饋可以續租,最後中介就把續租這個響應返回給租客。

這一個過程,中介和房東作為一個整體對租客提供租房服務。租客是感知不到真實房東的存在的,租客也不需要關心這個,租客只關心能夠找到好租房就可以了。


「故事」VPN、反向代理到底skr啥


「故事」VPN、反向代理到底skr啥


隱藏服務器真實IP

使用反向代理,可以對客戶端隱藏服務器的IP地址。即,租客並不知道真實的房東。

負載均衡

反向代理服務器可以做負載均衡,根據所有真實服務器的負載情況,將客戶端請求分發到不同的真實服務器上。

提高訪問速度

反向代理服務器可以對於靜態內容及短時間內有大量訪問請求的動態內容提供緩存服務,提高訪問速度。

提供安全保障

反向代理服務器可以作為應用層防火牆,為網站提供對基於Web的攻擊行為(例如DoS/DDoS)的防護,更容易排查惡意軟件等。還可以為後端服務器統一提供加密和SSL加速(如SSL終端代理),提供HTTP訪問認證等。


「故事」VPN、反向代理到底skr啥


「故事」VPN、反向代理到底skr啥


讓我們回顧上面文章做的比喻,同樣是租客、中介、房東三者之間的關係。

站在房東角度,代理服務器為正向代理:客戶端是房東,正向代理服務器是中介,服務端是租客。(二丫找了中介做宣傳,中介就是二丫的正向代理)。

站在租客角度,代理服務器為反向代理:客戶端是租客,反向代理服務器是中介,服務端是房東。(租客們通過中介找到並簽下了房子,中介將這件事情告知房東,房東同意。而在該過程,租客並不關心真實房東,那麼中介是租客們的反向代理)。

所以說,看一個代理服務器,是正向代理還是反向代理,應該首先確定是站在誰的角度上,再來分析關係的。


「故事」VPN、反向代理到底skr啥


「故事」VPN、反向代理到底skr啥


「故事」VPN、反向代理到底skr啥


「故事」VPN、反向代理到底skr啥

(廣...東衫,嗒嗒嗒...)



「故事」VPN、反向代理到底skr啥


未完待續......

「故事」VPN、反向代理到底skr啥


往期精彩:

Hi,我是二毛,一個在大城市漂泊的程序員

通俗易懂解釋負載均衡

強い秘密



歡迎來到程序員二毛的世界,在這裡你將走進程序員的生活,感受職場冷暖,體會生活感悟,並學習到有趣的編程技術。

包括但不限於Linux、數據庫、計算機網絡、PHP、數據結構算法、設計模式、實用工具資源等。

「故事」VPN、反向代理到底skr啥


關注公眾號《程序員二毛》,後臺回覆 1024 領取變強秘籍;點擊“菜單欄-加群交流”可進入攻城獅交流群。

聊技術,說認知,談人生,也許吃瓜圍觀的你,離激情交流、碰撞思想,就差一句“PHP是世界上最好的語言”!


「故事」VPN、反向代理到底skr啥



分享到:


相關文章: