你好,
我正在進行 N8N102 第 2 節實踐練習(「建構 Webhook 驅動的訂單處理系統」),每次點擊「執行第 1 步測試」時,Webhook 測試工具都會顯示空白頁面。我已經進行了相當廣泛的除錯,想知道問題是否可能出在測試工具端,而不是我的 webhook(?)。詳細資訊如下。
環境
- 自託管 n8n(已登錄的社群版本)在具有有效 Let’s Encrypt 憑證的反向代理後方,強制執行 HTTPS
- 測試工具頁面:Webhook Tester - n8n Academy | N8N102
- 測試的瀏覽器:Brave(防護關閉,VPN 關閉)和 Safari — 兩次都出現相同的空白螢幕
我已經驗證的項目
1. 我的 webhook 與 curl 配合正常運作
有效訂單傳回 200 和預期的 JSON:
curl -i -X POST -H "Content-Type: application/json" -H "X-API-Key: [我的 API 金鑰]" -H "X-Assessment-ID: [我的評估 ID]" -d '{"order_id":"ORD-001","customer_id":"CUST-001","total":123}' [我的生產 webhook URL]
→ HTTP/1.1 200 OK → {“status”:“accepted”,“order_id”:“ORD-001”,“message”:“Order received and queued for processing”}
缺少欄位傳回 400:
curl -i -X POST -H "Content-Type: application/json" -H "X-API-Key: [我的 API 金鑰]" -H "X-Assessment-ID: [我的評估 ID]" -d '{"order_id":"ORD-001"}' [我的生產 webhook URL]
→ HTTP/1.1 400 Bad Request → {“status”:“error”,“message”:“Missing required fields: order_id, customer_id, and total are required”}
缺少驗證傳回 403:
curl -i -X POST -H "Content-Type: application/json" -d '{"order_id":"ORD-001","customer_id":"CUST-001","total":123}' [我的生產 webhook URL]
→ HTTP/1.1 403 Forbidden (WWW-Authenticate: Basic realm=“Webhook”)
2. 測試工具正在到達我的 webhook
我的 n8n 執行索引標籤顯示測試工具的「VALIDURL-TEST」要求已到達並成功(已驗證 → 已儲存 → 已回應)。所以測試工具的後端確實呼叫了我的端點,我的工作流程處理這些要求沒有錯誤。
3. 空白螢幕會在任何 webhook 時發生
我用隨機虛擬 webhook URL(來自 webhook.site)進行了測試,測試工具以完全相同的方式顯示空白螢幕。沒有勾選標記,沒有錯誤訊息,什麼都沒有。
4. 網路行為
- 測試工具頁面加載正常(HTTP 200)
- 點擊「執行第 1 步測試」時,頁面作為 GET 重新加載到相同的測試工具 URL
- 之後,結果永遠不會呈現,只是空白頁面
- 主控台沒有顯示錯誤;網路索引標籤沒有顯示失敗的要求
測試工具在我點擊「執行」按鈕前顯示的內容
- 第 1 步測試已停用(無法勾選/取消勾選,但我可以點擊「執行第 1 步測試」)
- 沒有勾選標記出現,沒有顯示錯誤訊息
- 第 2 步和第 3 步按鈕也保持停用狀態
我之前的嘗試(供參考)
- 我最初將 webhook 的驗證設定為「無」,並在工作流程中手動處理驗證。測試工具拒絕了 URL,顯示:「webhook_url authentication is invalid. Please ensure you have configured your webhook authentication.」
- 然後我在 Webhook 節點上切換到原生標頭驗證。驗證錯誤消失了,但空白螢幕仍然存在。
- 我也驗證了 Webhook 節點設定為驗證:標頭驗證,並使用我的標頭驗證憑證(標頭名稱 X-API-Key,學院 API 金鑰作為值)。
- 空白螢幕在我進行驗證設定實驗之前就已經發生了,並在我所做的每次變更中持續。
結論
測試工具的後端到達我的 webhook(通過 n8n 執行已證明)。我的 webhook 以正確的狀態碼和內文回應(通過 curl 已證明)。空白螢幕在完全不相關的 webhook URL(webhook.site)中重現。這讓我想知道 Bug 是否在 Webhook 測試工具本身(其前端無法呈現測試結果?),而不是使用者的 webhook 設定。
非常感謝您的任何意見和幫助!