正反向代理與透明代理

4年前 (2019-12-30) Yosheng 資訊教學 0評論 已收錄 4082℃

最近開始搭建自己房間內的開發環境,目標是搭建一個測試環境,因為希望外部網路也能訪問,所以用到內網穿透,其中部分服務需要依賴Google,所以房間內也做了科學上網,這篇文章主要是作為搭建的開頭,讓自己理解各種代理的涵義,後面會接著寫如何搭建。

正向代理


使用者透過連線代理服務器訪問網站或者使用特定的服務,如上圖所示,此外常見的服務如VPN、IE中的Proxy設定,

VPN:透過訪問代理服務器,獲取一個虛擬的IP地址進而訪問公司內部的服務器。

Proxy:透過中間代理服務器,縮短訪問特定網站的節點轉跳,進而提升訪問速度。

代理就好比中間人購物一樣,使用者透過中間人去跟商家買東西,商家本身不知道背後需要這個商品的人是誰

反向代理


服務器透過反向代理服務器提供服務給使用者,如上圖所示,常見的服務如:FRP、NPS內網穿透工具或Nginx負載均衡

內網穿透:透過訪問反向代理服務器,將服務外曝到公網世界中。

附載均衡:透過訪問不同的反向代理服務器,在這層作緩存,降低訪問背後服務器的壓力。

這就好比商家透過中間人申請一個外地展示牌,可以到外地銷售自己的商品,使用者可以直接跟商家購買不需要透過中間人,跟中間人溝通的工作交給商家

透明代理


使用者正常瀏覽網頁,透過透明代理路由器會根據請求的網址藉由解析DNS服務來決定該服務是否轉發到代理服務器,常見用於翻牆工具上面

詳細可以參考 Koolsahre 實現路由科學上網 這篇文章就是透明代理的例子

藉由使用 Clash 客戶端工具連線到 V2ray 服務器,其中在路由器安裝 Clash 所有的請求都經過該服務,服務本身對於請求的DNS做解析,如果是國外的IP地則直接透過代理服務器訪問。

這就好比買東西結帳的時候,使用支付寶付款,如果本身支付寶裡面有餘額就使用餘額否則從銀行卡扣款,你本身是無感知的

結論

正項與反向的區別在於代理的對象不一樣:正向代理代理的對象是客戶端,反向代理代理的對象是服務端,透明代理則是客戶端無感知請求服務。

博主

擅長使用 C# 和 Java 開發項目,全棧開發工程師,前端主要使用 Vue 其次 Angular ,目前正在學習分布式架構,運維研發兼具,平時愛好鑽研技術並應用於實務當中,常駐於上海。

相關推薦

相逢就是有緣,留下足跡吧!