LINE Bot Webhook検証エラーの解決方法
2025-10-13
症状
LINE Developers ConsoleでWebhook検証を実行すると、タイムアウトエラーが発生する。
原因
Renderの無料プランは初回起動に時間がかかるため、Webhook検証時にレスポンスが間に合わない。
解決手順
1. サーバー起動を確認
目的: サーバーが完全に起動してからWebhook検証を実行する。
Render Dashboardでログを確認:
- Render Dashboard → YourURL → Logs
- 最新のログで以下のメッセージを確認:
INFO: Uvicorn running on http://0.0.0.0:10000
==> Your service is live 🎉
- このメッセージが表示されてから2-3分待機
2. ブラウザで動作確認
目的: サーバーが正常に応答しているか確認する。
ブラウザで以下のURLにアクセス:
https://YourURL.onrender.com
以下のJSONレスポンスが表示されれば正常:
{
"message": "LINE Booking Bot API",
"status": "running"
}
ヘルスチェックでも確認
https://YourURL.onrender.com/health
以下が表示されれば正常:
{
"status": "healthy"
}
3. Webhook検証を再実行
- LINE Developers Console にアクセス
- 該当チャネルを選択
- Messaging API設定タブを開く
- Webhook URLを確認:
https://YourURL.onrender.com/webhook - 「更新」をクリック
- 30秒待機
- 「検証」をクリック
成功と表示されれば完了。
4. それでも失敗する場合
方法1: Webhookの再設定
目的: Webhook設定をリセットして接続を再確立する。
- LINE Developers Console → Messaging API設定
- 「Webhookの利用」をOFFにする
- 10秒待つ
- 「Webhookの利用」をONにする
- 再度検証を実行
方法2: タイムアウト設定の追加
目的: FastAPIのミドルウェアを追加してタイムアウトを調整する。
ローカルの main.py を編集:
# main.pyの app = FastAPI() の後に追加
from fastapi.middleware.trustedhost import TrustedHostMiddleware
app.add_middleware(TrustedHostMiddleware, allowed_hosts=["*"])
GitHubにpush:
git add main.py
git commit -m "Add: timeout configuration"
git push origin main
Renderが自動で再デプロイを開始する。デプロイ完了後、再度Webhook検証を実行。
トラブルシューティング
502 Bad Gateway エラーが表示される
原因: サーバーがまだ起動中。
対処法: 2-3分待ってから再度アクセス。
Webhook検証が毎回タイムアウトする
原因: Renderの無料プランはスリープ状態からの復帰に時間がかかる。
対処法:
- ブラウザで
https://YourURL.onrender.comにアクセス - JSONが表示されるまで待つ
- 表示されたら即座にLINEでWebhook検証を実行
デプロイは成功しているが応答がない
確認項目:
- 環境変数が正しく設定されているか確認
- Renderのログでエラーが出ていないか確認
- Start Commandが正しいか確認:
uvicorn main:app --host 0.0.0.0 --port $PORT
注意事項
- Renderの無料プランは30分アクセスがないとスリープする
- スリープ状態からの復帰には30秒~1分かかる
- 初回デプロイ後は特に起動が遅い場合がある
- Webhook検証前に必ずブラウザでアクセスして起動させる
参考情報
- Render Documentation: https://render.com/docs/web-services#request-timeouts
- LINE Messaging API - Webhook: https://developers.line.biz/ja/docs/messaging-api/receiving-messages/
履歴
- [0000-00-00 Fri]