共计 985 个字符,预计需要花费 3 分钟才能阅读完成。
最近開始搭建自己房間內的開發環境,目標是搭建一個測試環境,因為希望外部網路也能訪問,所以用到內網穿透,其中部分服務需要依賴 Google,所以房間內也做了科學上網,這篇文章主要是作為搭建的開頭,讓自己理解各種代理的涵義,後面會接著寫如何搭建。
正向代理
使用者透過連線代理服務器訪問網站或者使用特定的服務,如上圖所示,此外常見的服務如 VPN、IE 中的 Proxy 設定,
VPN:透過訪問代理服務器,獲取一個虛擬的 IP 地址進而訪問公司內部的服務器。
Proxy:透過中間代理服務器,縮短訪問特定網站的節點轉跳,進而提升訪問速度。
[v_qing] 代理就好比中間人購物一樣,使用者透過中間人去跟商家買東西,商家本身不知道背後需要這個商品的人是誰 [/v_qing]
反向代理
服務器透過反向代理服務器提供服務給使用者,如上圖所示,常見的服務如:FRP、NPS 內網穿透工具或 Nginx 負載均衡
內網穿透:透過訪問反向代理服務器,將服務外曝到公網世界中。
附載均衡:透過訪問不同的反向代理服務器,在這層作緩存,降低訪問背後服務器的壓力。
[v_qing] 這就好比商家透過中間人申請一個外地展示牌,可以到外地銷售自己的商品,使用者可以直接跟商家購買不需要透過中間人,跟中間人溝通的工作交給商家 [/v_qing]
透明代理
使用者正常瀏覽網頁,透過透明代理路由器會根據請求的網址藉由解析 DNS 服務來決定該服務是否轉發到代理服務器,常見用於翻牆工具上面
詳細可以參考 Koolsahre 實現路由科學上網 這篇文章就是透明代理的例子
藉由使用 Clash 客戶端工具連線到 V2ray 服務器,其中在路由器安裝 Clash 所有的請求都經過該服務,服務本身對於請求的 DNS 做解析,如果是國外的 IP 地則直接透過代理服務器訪問。
[v_qing] 這就好比買東西結帳的時候,使用支付寶付款,如果本身支付寶裡面有餘額就使用餘額否則從銀行卡扣款,你本身是無感知的 [/v_qing]
結論
正項與反向的區別在於代理的對象不一樣:正向代理代理的對象是客戶端,反向代理代理的對象是服務端,透明代理則是客戶端無感知請求服務。