Ngrok 使用教程

Ngrok 是一款可以將本地服務映射到公網的工具,它可以幫助開發者在本地開發的同時,提供一個可以讓外網訪問的地址。本文將詳細介紹 ngrok 的安裝、使用以及相關注意事項。

一、安裝 ngrok

Ngrok 下載地址:https://ngrok.com/download

安裝 ngrok 非常簡單,只需要到官網下載對應系統版本的文件即可。

  
    wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
    unzip ngrok-stable-linux-amd64.zip
  

解壓完成後,可以使用以下命令進行驗證:

  
    ./ngrok -v
  

如果輸出類似 ngrok version 3.3.0 的內容,則說明安裝成功。

二、使用 ngrok

1. 註冊賬號並獲取 Auth Token

在使用 ngrok 之前,需要先註冊一個賬號,獲取 Auth Token。可以到 ngrok 的官網進行註冊,註冊完成後,即可獲取 Auth Token。

我們可以使用以下命令,將 Auth Token 保存到 ngrok 的配置中:

  
    ./ngrok authtoken <your-auth-token>
  

其中,<your-auth-token> 替換為你自己的 Auth Token。

2. 映射本地服務

使用 ngrok 進行映射只需要一行命令:

  
    ./ngrok http <port>
  

其中,<port> 替換為你要映射的本地服務埠號。

運行完命令後,可以看到類似以下的輸出:

  
    ngrok by @inconshreveable                                                                                                                                                                                                                                                                                                                                                                                                (Ctrl+C to quit)
    Session Status                online
    Account                       John Doe (Plan: Free)
    Version                       2.3.35
    Region                        United States (us)
    Web Interface                 http://127.0.0.1:4040
    Forwarding                    http://<generated-subdomain>.ngrok.io -> http://localhost:<port>
    Forwarding                    https://<generated-subdomain>.ngrok.io -> http://localhost:<port>
  

其中,<generated-subdomain> 是 ngrok 自動生成的域名前綴,可以通過該域名前綴,訪問到本地服務。

注意,運行該命令時,本地埠必須是可用狀態,否則 ngrok 映射會失敗。

如果需要開啟 https 支持,可以使用以下命令:

  
    ./ngrok http <port> --hostname=<your-domain>
  

其中,<your-domain> 替換為你自己的域名,需要在配置 SSL 證書時用到。

3. 配置 SSL 證書

ngrok 會自動為你創建一個子域名並完成映射,但這個子域名在瀏覽器中是不受信任的,需要配置 SSL 證書。

SSL 證書的配置很簡單,只需要將證書文件放到 ngrok 的配置目錄中即可。

SSL 證書通常有兩個文件,分別是證書文件和私鑰文件,可以使用如下命令生成證書文件和私鑰文件:

  
    openssl genrsa -out <your-domain>.key 2048
    openssl req -new -key <your-domain>.key -out <your-domain>.csr
    openssl x509 -req -days 365 -in <your-domain>.csr -signkey <your-domain>.key -out <your-domain>.crt
  

其中,<your-domain> 替換為你自己的域名。

生成證書後,可以使用以下命令將證書文件拷貝到 ngrok 的配置目錄中:

  
    sudo cp <your-domain>.crt /usr/local/ngrok/cert/
  

然後,可以使用以下命令來啟動 ngrok,啟動時需要指定證書文件名:

  
    ./ngrok http <port> --hostname=<your-domain> --tls-cert=<your-domain>.crt --tls-key=<your-domain>.key
  

三、注意事項

1. ngrok 流量監控

ngrok 內置了一個 web 界面,可以用來監控流量。可以通過在瀏覽器中訪問 http://127.0.0.1:4040 進行查看:

  
    Session Status                online                                                             
    Account                       John Doe (Plan: Free)                                             
    Version                       2.3.35                                                             
    Region                        United States (us)                                                 
    Web Interface                 http://127.0.0.1:4040                                              
    Forwarding                    http://<generated-subdomain>.ngrok.io -> http://localhost:<port>   
    Forwarding                    https://<generated-subdomain>.ngrok.io -> http://localhost:<port>  
                                                                                                     
    Connections                   ttl     opn     rt1     rt5     p50     p90                  
                                  0       0       0.00    0.00    0.00    0.00                 
    HTTP Requests                                                                                
    -------------                                                                               
                                                                                                     
  

2. 連接數量限制

ngrok 免費版本有連接數量限制,每個連接只能維持 8 小時,且每分鐘限制 40 次請求。如果需要更多的連接數和更長時間的連接,則需要購買 ngrok 的付費版。

3. 防火牆設置

為了確保 ngrok 映射成功,你需要打開本地服務所在機器的防火牆埠,以確保 ngrok 可以訪問到本地服務。

如果在使用過程中遇到了連接失敗,可以檢查是否有防火牆或代理的限制。

4. 本地域名映射

在本地測試時,可以使用 host 文件中的域名映射功能,來模擬 ngrok 動態生成的子域名。例如,在 host 文件中添加以下配置:

  
    127.0.0.1   <your-domain>
  

這樣,可以在本地通過 <your-domain> 訪問到你需要映射的服務。

結語

本文對 Ngrok 的安裝、使用和注意事項進行了詳細介紹,以幫助開發者更好地使用這一工具。在使用過程中,需要注意連接數量限制、防火牆設置和本地域名映射等問題,並且注意謹慎使用 ngrok 映射的服務,以免造成安全隱患。

原創文章,作者:FRKM,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/132825.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
FRKM的頭像FRKM
上一篇 2024-10-03 23:54
下一篇 2024-10-03 23:54

相關推薦

  • MQTT使用教程

    MQTT是一種輕量級的消息傳輸協議,適用於物聯網領域中的設備與雲端、設備與設備之間的數據傳輸。本文將介紹使用MQTT實現設備與雲端數據傳輸的方法和注意事項。 一、準備工作 在使用M…

    編程 2025-04-29
  • Python3.6.5下載安裝教程

    Python是一種面向對象、解釋型計算機程序語言。它是一門動態語言,因為它不會對程序員提前聲明變數類型,而是在變數第一次賦值時自動識別該變數的類型。 Python3.6.5是Pyt…

    編程 2025-04-29
  • Deepin系統分區設置教程

    本教程將會詳細介紹Deepin系統如何進行分區設置,分享多種方式讓您了解如何規劃您的硬碟。 一、分區的基本知識 在進行Deepin系統分區設置之前,我們需要了解一些基本分區概念。 …

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Qt雷達探測教程

    本文主要介紹如何使用Qt開發雷達探測程序,並展示一個簡單的雷達探測示例。 一、環境準備 在開始本教程之前,需要確保你的開發環境已經安裝Qt和Qt Creator。如果沒有安裝,可以…

    編程 2025-04-29
  • 猿編程python免費全套教程400集

    想要學習Python編程嗎?猿編程python免費全套教程400集是一個不錯的選擇!下面我們來詳細了解一下這個教程。 一、課程內容 猿編程python免費全套教程400集包含了從P…

    編程 2025-04-29
  • Python煙花教程

    Python煙花代碼在近年來越來越受到人們的歡迎,因為它可以讓我們在終端里玩煙花,不僅具有視覺美感,還可以通過代碼實現動畫和音效。本教程將詳細介紹Python煙花代碼的實現原理和模…

    編程 2025-04-29
  • 使用Snare服務收集日誌:完整教程

    本教程將介紹如何使用Snare服務收集Windows伺服器上的日誌,並將其發送到遠程伺服器進行集中管理。 一、安裝和配置Snare 1、下載Snare安裝程序並安裝。 https:…

    編程 2025-04-29
  • Python畫K線教程

    本教程將從以下幾個方面詳細介紹Python畫K線的方法及技巧,包括數據處理、圖表繪製、基本設置等等。 一、數據處理 1、獲取數據 在Python中可以使用Pandas庫獲取K線數據…

    編程 2025-04-28
  • Python語言程序設計教程PDF趙璐百度網盤介紹

    Python語言程序設計教程PDF趙璐百度網盤是一本介紹Python語言編程的入門教材,本文將從以下幾個方面對其進行詳細闡述。 一、Python語言的特點 Python語言屬於解釋…

    編程 2025-04-28

發表回復

登錄後才能評論