Webhook 驗證失敗?按下 Verify 出現錯誤的完整排查指南

你把 Webhook URL 填進開發者後台,滿懷期待地按下 「Verify」(驗證)—— 結果跳出紅字錯誤。教學文章都說「按下去會顯示 Success」,怎麼偏偏你的不會?
別慌。Verify 失敗的原因其實翻來覆去就那幾個,這篇照發生機率從高到低排好了,你從第一個開始檢查,大多數人走不到第三步就解決了。
先搞懂:按下 Verify 的時候,LINE 做了什麼?
按下 Verify 的那一刻,LINE 會實際寄一封「測試信」到你填的網址 —— 正式的說法是:LINE 平台會對你的 Webhook URL 送出一個不含任何事件的測試請求,然後看你的伺服器有沒有正確簽收(回覆 HTTP 200)。
所以 Verify 失敗只有一個意思:這封測試信沒有被正確簽收。可能是地址寫錯、房子沒人在、或信被門口警衛擋下來了。下面一個個查。
---
原因一:網址貼錯(占九成,先查這個)
最常見、也最冤枉的原因:
- 前後多了空白 —— 複製貼上時很容易夾帶,肉眼看不出來。
- 少字或多字 —— 網址斷行後只複製到一半。
- 不是 `https://` 開頭 —— Webhook URL 強制要求 https,http:// 一律失敗。
解法:回到來源(例如賴管家給你的設定頁)重新複製整串網址,先貼到記事本檢查頭尾,再乾淨地貼進開發者後台,按 「Update」 儲存後再 Verify 一次。
⚠️ 如果你的網址是服務商(例如賴管家)提供的,貼對了幾乎不會失敗。所以失敗時先懷疑自己貼錯,再懷疑別的,順序不要反過來。
原因二:伺服器沒有回 200
LINE 的規則很硬:測試請求送過去,你的伺服器必須直接回覆 HTTP 200。以下狀況全部算失敗:
- 回了 301/302 轉址(例如網址少了結尾斜線被自動轉向、或強制跳轉 www)—— LINE 不會跟著轉址走。
- 回了 404 —— 網址路徑存在主機上,但沒有程式在那裡接。
- 回了 500 —— 接收程式本身出錯了。
- 逾時沒回應 —— 伺服器太慢或根本沒醒著。
解法:如果是自己架的系統,請工程師確認「收到 POST 請求時,不做轉址、直接回 200」。如果是用現成服務,把錯誤畫面截圖給服務商客服,他們一看就知道。
原因三:SSL 憑證有問題
網址是 https 沒錯,但憑證過期、自簽憑證、或憑證跟網域對不起來,LINE 一樣拒收。
快速自查:用手機或電腦瀏覽器直接打開你的 Webhook URL —— 如果瀏覽器跳出「你的連線不是私人連線」之類的警告,就是憑證問題。(頁面顯示 404 或錯誤訊息反而沒關係,重點是不能有憑證警告。)
原因四:防火牆或主機把 LINE 擋在門外
比較少見,但公司自架主機常中獎:機房防火牆只允許特定來源、或主機安全設定把陌生的境外請求全部擋掉,LINE 的測試信根本進不了門。
解法:請網管確認防火牆有開放來自 LINE 平台的 HTTPS 請求。這一步通常需要工程背景,直接把這篇文章給負責的人看即可。
---
Verify 成功了,之後訊息卻還是進不來?
這是另一個經典狀況:驗證明明過了,客人傳訊息卻沒反應。最常見的原因是開關沒開齊 —— Webhook 其實有兩個開關(開發者後台一個、官方帳號後台一個),詳細位置我們在〈Webhook URL 到底要回填在哪裡?〉寫得很清楚。
如果開關都開了還是收不到,請直接看下一篇〈LINE 機器人已讀不回?收不到訊息的排查清單〉,那篇處理的就是「Verify 過了但訊息不通」的完整流程。
進階武器:打開官方的「錯誤統計」功能
很多人不知道,LINE 開發者後台內建了 Webhook 錯誤統計,可以直接看到「LINE 送訊息給你的伺服器時,失敗的原因是什麼」:
- 進入你的 Messaging API channel,點 「Messaging API」 分頁。
- 確認 「Use webhook」 是開的。
- 打開 「Error statistics aggregation」(錯誤統計彙整)。
- 之後就能在 「Webhook errors」 分頁看到錯誤的種類和次數。
💡 注意:這個功能只會記錄打開之後發生的錯誤,不會回溯過去。建議設定完 Webhook 就順手打開,之後出問題時就有線索可查。
你可能會擔心的幾件事
- 「Verify 失敗會弄壞什麼嗎?」 完全不會。它只是一次測試,失敗了就修完再按,按幾次都沒關係。
- 「一定要 Verify 成功才能用嗎?」 Verify 是幫你確認通路暢通的工具。就算跳過它,真正的訊息一樣會往這個網址送 —— 但強烈建議讓它變綠再上線,不然等於閉著眼睛開車。
- 「我用賴管家這類服務,還需要懂原因二三四嗎?」 不太需要。服務商給的網址通常憑證、回應都處理好了,你只要顧好原因一(貼對網址)就好。
結論
Verify 失敗的排查順序:①重新乾淨地貼一次網址 → ②確認伺服器直接回 200、沒有轉址 → ③瀏覽器開網址看有沒有憑證警告 → ④請網管檢查防火牆。九成的人在第一步就解決了。
💬 按了 Verify 還是紅字?把錯誤畫面截圖傳給我們,我們幫你看是卡在哪一關。
(本文是「LINE 設定疑難排解」系列的一篇。相關文章:〈LINE 機器人已讀不回的排查清單〉/〈Channel Access Token 失效與 Reissue〉/〈LIFF 打不開的三種症狀〉。還沒完成基本設定?從〈申請 LINE 開發者帳號〉開始。)



