Nginx:正向代理與反向代理

注意

由於個人能力還沒達到完全理解並用自己語言描述,所以下面都是我看了網上不同的文章,
覺得好的就保存下來給大家分享的,當然不一定完全一樣中間有我自己的理解。
最後:盡信書不如無書!!!

正向代理

比如我們要去訪問谷歌網站,我們直接訪問不通,那麼我們就可以找一個代理服務器爲我們服務,我們通過代理服務器請求到谷歌網站。對於谷歌而言他只知道有一個服務器訪問了自己,並不知道你找了一個代理服務器訪問自己。而這裏的代理服務器就是正向代理服務器。
在舉一個通俗的例子。你需要錢,C正好有錢,但是你C不直接借給你。你和B關係比較好,B可以找C借到錢。你和B溝通後,由B來找C借到錢後在給你。這個B就是代理服務器。

正向代理:後端的/目標服務器(比如谷歌服務器)只清楚請求來自哪個代理服務器,而不清楚來自哪個具體的客戶端;正向代理模式屏蔽或者隱藏了真實客戶端信息。因爲你的請求經過了代理服務器了,而代理服務器不會把你客戶端的信息完完全全的給後面的目標服務器。

問題1:
知名的科學上網工具shadowsocks 扮演的是正向代理角色 還是 反向代理? ----答案在文末

反向代理

所謂反向代理正好與正向代理相反,代理服務器是爲目標服務器 服務的,雖然整體的請求返回路線都是一樣的都是Client到Proxy(代理)到Server。
比如 我們訪問百度網站,百度的代理服務器對外的域名爲 https://www.baidu.com 。具體內部的服務器節點我們不知道。我們通過訪問百度的代理服務器後,代理服務器給我們轉發請求到他們N多的服務器節點中的一個給我們進行搜索後將結果返回。
再舉例:我們同樣需要錢,但是我們又不知道誰有錢,所以我們找了一家網貸平臺,你提交資料後,網貸平臺直接將錢打給你。但是你不知道,也不用關注網貸平臺的錢從哪裏來。網貸平臺內部他們可能從哪一個財主哪裏融的錢。對你而言網貸平臺和他們的金主是一起的。
同樣通過上面我們例子可以看到,此時的代理服務器和後面的目標主機是一個系統的(百度公司、網貸平臺)。他們是對外提供服務的,所以稱爲反向代理,代理的是後面你借錢的人/你要訪問的目標服務器。

正向代理是代理客戶端,爲客戶端收發請求,使真實客戶端對服務器不可見;而反向代理是代理服務器端,爲服務器收發請求,使真實服務器對客戶端不可見。

注意
我在學習瞭解的過程中會有一個不正確的想法,認爲正向代理和反向代理在請求過程中是二選一,這是錯誤的。比如你請求谷歌的過程中,我們發請求到正向代理服務器,它又把請求轉發到谷歌的服務器,而谷歌的服務器又做了反向代理進行分流,然後返回結果。
nginx既能做正向代理,也能做反向代理。

答案1:正向代理

歡迎關注,會同步更新,隨時隨地一起學習
微信公衆號:教練我想學PHP
天天快報、騰訊新聞和QQ瀏覽器:教練我想學PHP

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章