什么是反向代理服務器
轉載:http://www.techug.com/post/reverse-proxy-server.html
我們常會看到‘反向代理服務器’這個名詞,例如??吹轿恼律险f nginx(nginx安裝配置) 是一個反向代理服務器、varnish 是一個反向代理服務器 …… 下面就了解下這個概念
含義
‘反向代理服務器’ 有兩個概念,一是‘代理服務器’,二是‘反向’
‘代理服務器’比較好理解,例如需要訪問某網站,不想或不能直接訪問,例如網絡的原因、隱私的原因等,我們就連接一個代理服務器,這樣對于這個網站來說,訪問他的用戶是這個代理服務器,而不是我們自己
‘反向’的意思我們沒有通過代理服務器訪問網站,但網站卻在自己服務器前面加了一個代理,我們輸入網址發起請求后,請求先到了這個代理服務器,代理服務器再把請求轉給網站服務器
作用
之所以會出現反向代理服務器,就是因為他的作用非常大,隨著網站的壯大,就必然要使用反向代理服務器
主要有以下幾種作用
(1)安全過濾
為了安全,不允許用戶直接接觸真實服務器,任何訪問請求都要先到達反向代理服務器,反向代理服務器來進行驗證、過濾等安全類操作,符合條件的請求才會被轉發到真實服務器
例如最簡單的場景:只有在IP白名單中的IP才能訪問
(2)內容緩存
當訪問量越來越大時,網站服務器對每個請求都需要進行處理,壓力巨大,根據局部訪問性原理,這么多請求中必然有很多是重復的,網站服務器做這些重復勞動很累
這時就需要反向代理服務器來分擔一部分工作,反向代理服務器把一些常用的內容都緩存到自己身上,用戶的請求先來到反向代理服務器,他看自己這有沒有用戶需要的內容,有就直接返回給用戶,沒有時才交給網站服務器來處理
這樣就相當于網站服務器有了一個助理,幫他處理了很多重復性工作,減輕了壓力
(3)負載均衡
當訪問量越來越大時,一個網站服務器扛不住了,需要在添加N個服務器,那么當用戶請求過來后,到底由那臺服務器進行處理呢?
這時就需要在這N臺服務器前面添加一個反向代理服務器,做為負載均衡器
用戶請求先發到負載均衡器,他思考一下這個請求應該交給誰,想好后就轉發過去,這樣就讓N臺服務器均衡的處理請求了