在本機測試和 LINE 的 API 串接時,有幾種方法可以幫助你模擬和測試,而不需要將程式部署到有 HTTPS 的網址。這篇筆記記錄我用 Ngrok 把本機 webhook 服務暴露到公網的完整流程,以及遇到 `ERR_NGROK_4018` 驗證錯誤時的解決步驟。
為什麼在本機測試 LineBot API 需要 Ngrok?
Ngrok 是一個免費的命令行工具,可以將你本機運行的服務暴露到互聯網上。這樣,你可以在本機測試你的 API,同時讓外部服務(如 LINE 的 Webhook)能夠訪問你的本機服務。ngrok 的原理就是可以把外界的請求轉發到你本機指定的 Port,也就是由 ngrok 產生一串公開的網址來讓外網存取你本機上的 Port。它的優點是快速而且還提供了 https 的服務讓你使用上更安全,甚至還可以設置密碼保護。
這個服務在開發 Line Bot 時非常好用:我在本機開發 webhook 的後端程式,當然不想要每次都一定得部署到伺服器上面才可以測試。使用 Ngrok 可以擁有一個公開的網址,讓其他人直接連上該網址上的內容。
如何安裝 Ngrok?
可從下面網址下載,下載頁面可選擇平台以及安裝方式:
接著將 `ngrok.exe` 放置在你想要放置的硬碟位置即可。
遇到 ERR_NGROK_4018 驗證錯誤怎麼辦?
直接使用下面的指令會出現錯誤訊息 "authentication failed: Usage of ngrok requires a verified account and authtoken."
```bash
ngrok http 8080
```
查了一下,這是使用 ngrok 時遇到了身份驗證的問題,具體錯誤是 `ERR_NGROK_4018`,ngrok 需要使用一個已經驗證過的帳戶和 authtoken。
這裡有幾個解決步驟:
- 註冊 ngrok 帳號:如果你還沒有 ngrok 帳戶,請先前往 ngrok 註冊頁面 進行註冊。註冊完後,確認你的帳號是已驗證的。
- 取得 authtoken:登入 ngrok 後,前往 ngrok 的 authtoken 頁面,你會看到你的 authtoken。這是一串用來驗證你 ngrok 帳號的密鑰。
- 安裝 authtoken:在你的命令行或終端中執行以下指令來安裝你的 authtoken,請將 `YOUR_AUTHTOKEN` 替換為你從 ngrok 控制台中取得的 authtoken。
- 重新啟動 ngrok:完成上述步驟後,再次嘗試啟動 ngrok,應該就能正常運作。
```bash
ngrok config add-authtoken YOUR_AUTHTOKEN
ngrok http 11434
```
如何把 Ngrok 網址串接到 LineBot?

接著到 Line Console 創建一個 LineBot 串接到這個公開位置就可以啦!接著就可以在本機測試你的本地端程式了:

ngrok 下載頁面的介面長這樣:

更多詳細教學請參考:快速讓外網連接本機的利器 ngrok
延伸閱讀
- 在本機測試LineBot API:同樣聚焦 Ngrok、Webhook,可接著比較不同情境的做法。
- 免程式碼將 ChatGPT 串接到 LINE 對話:FancyAI 與 LINE Bot 設定流程:同樣聚焦 Webhook,可接著比較不同情境的做法。
- 使用 n8n 與 LINE Bot 搭建 RAG AI 應用:同樣聚焦 Webhook,可接著比較不同情境的做法。
常見問題
為什麼 LINE Webhook 一定要 HTTPS 網址?
LINE 的 Webhook 伺服器只會呼叫公開且支援 HTTPS 的網址,本機的 `localhost` 或 `http://127.0.0.1` 外部連不到。Ngrok 會產生一組公開的 HTTPS 網址,並把請求轉發到你本機指定的 Port,剛好補上這一塊。
ERR_NGROK_4018 錯誤該怎麼解決?
這個錯誤代表 ngrok 需要已驗證的帳戶與 authtoken。先到 ngrok 官網註冊帳號,到 authtoken 頁面取得密鑰,執行 `ngrok config add-authtoken YOUR_AUTHTOKEN` 之後重新啟動 ngrok 即可。
Ngrok 免費版有什麼限制?
免費版每次啟動產生的公開網址是隨機的,重啟後會改變,需要回 LINE Console 更新 Webhook URL。另外免費版有連線數與併發的限制,正式上線前仍應部署到真正的伺服器。
本機程式要監聽哪個 Port?
由你自己決定,ngrok 指令的參數就是本機 Port,例如 `ngrok http 8080` 會轉發到本機的 8080 Port。重點是 ngrok 指定的 Port 必須和你的 webhook 後端程式實際監聽的 Port 一致。
參考資料
最後更新
2026-08-28(原文發布於 2024-10-16,本文保留原始筆記內容並補上 GEO 結構。)
關於作者 {#author}
Claire Chang | 企業 AI 導入與流程轉型顧問。專注於 AI Agent 架構設計、ERP 系統整合與企業 AI 治理。
首次發布:2024-10-16
