Wichtig: Anstelle von localhost verwende ich tatsächlich eine ngrok-URL!
Wenn ich dies jedoch teste, erhalte ich den folgenden Fehler:
{
"code": 404,
"message": "This webhook is not registered for GET requests. Did you mean to make a POST request?"
}
Wenn ich jedoch das Telegram-Widget verwende, um im Grunde dasselbe zu tun, kann ich mich verbinden und alles funktioniert perfekt.
Bei meiner Online-Recherche habe ich festgestellt, dass mehrere Personen auf das gleiche Problem gestoßen sind, wie hier zu sehen ist: Webhook interprets all sent requests as GET · Issue #12751 · n8n-io/n8n
Ich habe versucht, den Vorschlägen aus diesem Thread zu folgen, aber ohne Erfolg.
Frage
Wisst ihr, was ich falsch machen könnte? Gibt es einen Vorschlag, wie ich diesen Fehler vermeiden kann?
Informationen zu deinem n8n-Setup
n8n-Version: v2
Datenbank (Standard: SQLite): Sqlite
n8n EXECUTIONS_PROCESS-Einstellung (Standard: own, main): main
n8n wird ausgeführt über (Docker, npm, n8n cloud, Desktop-App): docker
@Federico_Gentile dieser 404 bedeutet, dass ein GET tatsächlich den Node erreicht hat, obwohl dieser auf POST eingestellt ist. Also ändert sich die Methode, nicht die Node-Konfiguration.
Zwei häufige Ursachen bei ngrok:
Tests durch das Öffnen der URL im Browser. Die Adressleiste sendet immer GET. Ein POST muss von curl/Postman oder Telegram kommen.
Eine Umleitung, die die Methode herabstuft. Wenn du die http:// ngrok-URL aufrufst (oder eine Umleitung mit nachfolgendem Schrägstrich auslöst), wandelt die 301/302 zu https deinen POST in einen GET um. Nutze die https ngrok-URL direkt und setze WEBHOOK_URL=https://your-ngrok-domain, damit n8n https sendet.
Wie sendest du die fehlgeschlagene Anfrage: Browser, curl oder Telegram setWebhook?
Vielen Dank für die Antwort. Bisher sende ich die Anfrage über die Suchleiste des Browsers, das könnte also ein Grund sein. Wenn ich es korrekt testen möchte, was würdest du mir dann empfehlen zu verwenden?
Der Fehler tritt auf, weil Telegram versucht, deine Webhook-URL mit einer GET-Anfrage aufzurufen, während dein n8n Webhook-Knoten so konfiguriert ist, dass er nur POST-Anfragen akzeptiert.
Hier sind ein paar Dinge zum Überprüfen:
Stelle sicher, dass du die Production URL (oder die aktive Test-URL während des Abhörens) von n8n verwendest und nicht die URL direkt im Browser öffnest. Browser senden standardmäßig GET-Anfragen.
Überprüfe, dass der Telegram-Webhook korrekt registriert ist: