ngrok

ngrok

ngrok 是一個反向代理,通過在公共的端點和本地運行的 Web 伺服器之間建立一個安全的通道。ngrok 可捕獲和分析所有通道上的流量,便於後期分析和重放。

反向代理計算機網路中是代理伺服器的一種。伺服器根據客戶端的請求,從其關係的一組或多組後端伺服器(如Web伺服器)上獲取資源,然後再將這些資源返回給客戶端,客戶端只會得知反向代理的IP位址,而不知道在代理伺服器後面的伺服器集群的存在。

基本介紹

  • 軟體名稱:ngrok
  • 軟體平台:MAC、Windows、Linux、BSD 
  • 軟體授權:開源
  • 運行平台:Mac OS X,Linux,Windows等 
介紹,為什麼要使用ngrok?,有了ngrok之後,世界是如此的美好,獲取ngrok,功能,常見反向代理軟體,

介紹

與前向代理不同,前向代理作為客戶端的代理,將從網際網路上獲取的資源返回給一個或多個的客戶端,服務端(如Web伺服器)只知道代理的IP位址而不知道客戶端的IP位址;而反向代理是作為伺服器端(如Web伺服器)的代理使用,而不是客戶端。客戶端藉由前向代理可以間接訪問很多不同網際網路伺服器(集群)的資源,而反向代理是供很多客戶端都通過它間接訪問不同後端伺服器上的資源,而不需要知道這些後端伺服器的存在,而以為所有資源都來自於這個反向代理伺服器。
反向代理在現時的網際網路中並不少見,而另一些例子,像是CDN、SNI代理等,是反向代理結合DNS的一類延伸套用。

為什麼要使用ngrok?

作為一個Web開發者,我們有時候會需要臨時地將一個本地的Web網站部署到外網,以供他人體驗評價或協助調試等等,通常我們會這么做:
  1. 找到一台運行於外網的Web伺服器
  2. 伺服器上有網站所需要的環境,否則自行搭建
  3. 將網站部署到伺服器上
  4. 調試結束後,再將網站從伺服器上刪除
只不過是想向朋友展示一下網站而已,要不要這么麻煩,累感不愛╰(`□′)╯

有了ngrok之後,世界是如此的美好

  1. 首先註冊並下載ngrok,得到一串授權碼
  2. 運行命令ngrok -authtoken 你的授權碼 80,80是你本地Web服務的連線埠,而之後ngrok會記住你的授權碼,直接ngrok 80就OK了
  3. 你會得到一串網址,通過這個網址就可以訪問你本地的Web服務了

獲取ngrok

ngrok官網
ngrok 是一個開源程式,官網服務在國外,國內訪問國外速度慢.
國內有相應的ngrok服務 natappfrpnat123連線埠映射區域網路通 等。

功能

反向代理的主要作用為:
  • 對客戶端隱藏伺服器(集群)的IP位址
  • 安全:作為套用層防火牆,為網站提供對基於Web的攻擊行為(例如DoS/DDoS)的防護,更容易排查惡意軟體
  • 為後端伺服器(集群)統一提供加密和SSL加速(如SSL終端代理)
  • 負載均衡,若伺服器集群中有負荷較高者,反向代理通過URL重寫,根據連線請求從負荷較低者獲取與所需相同的資源或備援
  • 對於靜態內容及短時間內有大量訪問請求的動態內容提供快取服務
  • 對一些內容進行壓縮,以節約頻寬或為網路頻寬不佳的網路提供服務
  • 減速上傳
  • 為在私有網路下(如區域網路)的伺服器集群提供NAT穿透及外網發布服務
  • 提供HTTP訪問認證
  • 突破網際網路封鎖(不常用,因為反向代理與客戶端之間的連線不一定是加密連線,非加密連線仍有遭內容審查進而遭封禁的風險;此外面對針對域名的關鍵字過濾、DNS快取污染/投毒攻擊乃至深度數據包檢測也無能為力)

常見反向代理軟體

相關詞條

熱門詞條

聯絡我們