Post

n8n + zrok 教學|讓自架 n8n Webhook 對外服務(不需要公開IP跟固定IP)

n8n + zrok 教學|讓自架 n8n Webhook 對外服務(不需要公開IP跟固定IP)

如果你還沒完成 n8n 安裝,可以先看上一篇:在 Mac 上用 Docker 架設 n8n 教學

為什麼自架 n8n 需要 Webhook 對外?

在上一篇文章中,我們已經成功在 Mac 上用 Docker 自架 n8n,並完成 Google API 的整合。但很快你會發現一個問題:

❌ 如果你的n8n在私有網路裡,導致無法使用外部服務去觸發n8n的workflow,例如:透過Line訊息觸發服務

所以為了讓外部服務可以觸發本機的服務,這時就需要一個 安全又簡單的對外通道

👉 本篇將教你使用 zrok,讓你的 n8n Webhook:

  • ✅ 對外公開(HTTPS)
  • ✅ 不需要固定 IP
  • ✅ 不用設定 Router / NAT
  • ✅ 非常適合個人、自架、測試環境

架構說明

1
2
3
4
5
6
7
第三方服務
   │  HTTPS Webhook
   ▼
zrok 公開網址
   │
   ▼
本機 n8n(Docker) → Workflow

zrok 的角色就是:

幫你把本機服務「安全地」暴露到網際網路上


步驟一:安裝 zrok

macOS(Homebrew)

1
brew install zrok

安裝完成後確認版本:

1
zrok version

步驟二:註冊並啟用 zrok 環境

  1. 前往 zrok 官方網站註冊帳號
  2. 註冊成功後再登入zrok portal,取得 Account Token
  3. 在本機執行:
1
zrok enable <你的 Account token>

成功後會看到:

1
⣾  the zrok environment was successfully enabled...

步驟三:對外分享 n8n Webhook(TCP Tunnel)

n8n 預設 Web UI 與 Webhook 都在 5678 port,因此我們直接分享該 port。

1
zrok share public http://localhost:5678 --backend-mode proxy

成功後,終端機會顯示類似:

1
https://xxxxx.zrok.io

這就是你可以 對外使用的公開網址


步驟四:在 n8n 建立 Webhook Workflow

  1. 開啟 n8n
  2. 新增一個 Webhook Trigger 節點,先使用Test URL進行測試
  3. 設定:
    • HTTP Method:POST
    • Path:d42aedb3-69c9-4c85-abb8-4f3c4017621d(每個webhook的path不同)

Webhook URL 會長得像:

1
http://localhost:5678/webhook-test/d42aedb3-69c9-4c85-abb8-4f3c4017621d

步驟五:改用 zrok 公開網址呼叫

假設 zrok 提供的網址是:

1
https://xxxxx.zrok.io

那實際對外的 Webhook URL 就是:

1
https://xxxxx.zrok.io/webhook-test/d42aedb3-69c9-4c85-abb8-4f3c4017621d

你現在可以從:

  • curl
  • GitHub Webhook
  • LINE / Discord / 或其他可用webhook的服務

直接呼叫你的 本機 n8n Workflow 🚀


測試範例(curl)

1
2
curl -X POST https://xxxxx.zrok.io/test-webhook/你的path \
  -H "Content-Type: application/json" \

若 n8n 有成功接收到資料,會顯示下面訊息,代表有成功連到n8n裡的webhook

1
{"message":"Workflow was started"}

常見問題與注意事項

🔒 安全性建議

  • 可在 Workflow 中加上 Header Token 驗證
  • 正式環境請避免公開敏感資料

⚠️ zrok 程式中斷

zrok 是「即時通道」,若終端機關閉:

  • ❌ Webhook 會立刻失效

建議:

  • 使用 tmux / screen
  • 或寫成系統服務(進階)

適合誰使用這個架構?

  • 想自架 n8n,但沒有固定 IP
  • 家用網路、公司網路、學校環境
  • Webhook 開發 / 測試 / Demo

不適合:

  • 高流量正式商業服務(請改用 VPS / Cloud)

小結

透過 n8n + zrok,你可以:

  • 在本機自架 n8n
  • 卻擁有像雲端服務一樣的 Webhook 能力
  • 非常適合學習、開發與自動化實驗

下一篇預告

👉 n8n + Webhook 實戰:Line 翻譯機器人、iOS捷徑串接webhook

敬請期待 😎

This post is licensed under CC BY 4.0 by the author.

© homedad. Some rights reserved.

Using the Chirpy theme for Jekyll.