一、注冊
- Ngrok官網注冊,可以使用gmail或者outlook郵箱,
- 正常填寫后你會收到一封電子郵件,點擊郵件中鏈接即注冊成功
二、獲取密鑰
- 登錄,點擊
Your Authtoken
,最上面copy左邊就是你得密鑰
三、使用內網穿透啟動docker
docker run --rm -it -e NGROK_AUTHTOKEN=<NGROK_TOEKN> ngrok/ngrok:latest http --request-header-add ngrok-skip-browser-warning:1 172.17.0.1:49009
啟動一個 Ngrok 容器,用來創建一個 HTTP 隧道,把本地的服務暴露在互聯網上。下面是對這個命令的詳細解釋:
詳細解釋
docker run
:
啟動一個新的 Docker 容器。--rm
:
在容器停止運行后自動刪除容器。這確保了臨時容器不會占用系統資源。-it
:
-i
表示以交互模式運行容器,允許用戶輸入命令;
-t
表示分配一個偽終端。這兩個選項結合起來允許用戶與容器進行交互。-e NGROK_AUTHTOKEN=<NGROK_TOEKN>
:
設置環境變量NGROK_AUTHTOKEN
,用于提供 Ngrok 的身份驗證令牌。你需要將<NGROK_TOEKN>
替換為你的實際 Ngrok 令牌。ngrok/ngrok:latest
:
使用ngrok/ngrok
鏡像的最新版本啟動容器。http
:
命令參數,告訴 Ngrok 創建一個 HTTP 隧道。--request-header-add ngrok-skip-browser-warning:1
:
添加一個請求頭ngrok-skip-browser-warning:1
,用于跳過 Ngrok 瀏覽器警告。這在訪問隧道時避免瀏覽器顯示警告信息。172.17.0.1:49009
:
指定本地服務的地址和端口,Ngrok 將這個地址和端口暴露在公共互聯網上。在這個例子中,本地服務運行在172.17.0.1
的49009
端口上。
工作流程
- 獲取 Ngrok 令牌:
- 首先,你需要在 Ngrok 網站上注冊并獲取一個身份驗證令牌。
- 啟動容器:
- 運行上述命令,啟動一個 Ngrok 容器并創建一個 HTTP 隧道。
- 隧道創建:
- Ngrok 客戶端會連接到 Ngrok 服務器,使用提供的令牌進行認證,并創建一個公開的 URL,通過該 URL 可以訪問本地服務。
- 訪問服務:
- Ngrok 會在控制臺輸出一個公開的 URL,通過這個 URL 可以從互聯網訪問本地運行在
172.17.0.1:49009
端口的服務。也可以通過生成的鏈接訪問。
示例
假設你在本地運行了一個 Web 服務,該服務監聽 172.17.0.1:49009
端口,你希望外部用戶可以訪問這個服務。通過運行上述命令,Ngrok 會提供一個類似于 http://abcd1234.ngrok.io
的 URL,外部用戶可以通過這個 URL 訪問你的本地服務。
這在開發和測試時非常有用,比如當你需要外部用戶測試你的本地服務或者需要與遠程客戶端進行集成測試時。