Webhook empfängt keine Anfragen von der Google Chat API (funktioniert über direkten HTTP-Aufruf einwandfrei)

Problem/Fehler/Frage beschreiben

Ich habe einen veröffentlichten Workflow mit einem Webhook-Node (konfiguriert mit
„Respond: Using Respond to Webhook Node"), der als Backend für
eine Google Chat App fungiert.
Problem:

  • Wenn ich manuell einen POST-Request an meine Production-Webhook-URL sende
    (über PowerShell/Invoke-RestMethod), funktioniert es perfekt: die
    Ausführung erscheint im Tab „Executions

Hallo @Octa-004 Willkommen!
Das ist mit großer Sicherheit die Authentifizierung deines Webhook-Knotens, nicht eine Edge- oder Cloudflare-Blockade. Google Chat signiert jede Anfrage mit seinem eigenen Authorization: Bearer <JWT> (ausgestellt von chat@system.gserviceaccount.com, User-Agent Google-Dynamite), daher kann es keine Anmeldedaten mit sich führen, die dein Webhook erwartet. Wenn Header-, Basic- oder JWT-Authentifizierung auf dem Webhook-Knoten aktiviert ist, lehnt n8n jede Anfrage ab, deren Token nicht übereinstimmt, und erstellt nie eine Ausführung. Das ist genau der Grund, warum dein PowerShell-Aufruf mit den richtigen Anmeldedaten funktioniert, Google Chat nicht, und Google „hat nicht reagiert oder seine Antwort war ungültig

Gute Diagnose von @Anshul_Namdev — die Auth-Nichtübereinstimmung ist genau der Grund, warum dein manueller PowerShell-Aufruf eine Execution erstellt, Google Chat aber nie. Google signiert jeden Request mit seinem eigenen Bearer JWT, daher lehnt jede Header-/Basic-/JWT-Auth auf dem Webhook-Node es ab, bevor eine Execution überhaupt erstellt wird.

Der Teil, den es lohnt sich hinzuzufügen: Sobald du die Webhook-Node-Authentifizierung auf „None

Ich habe das gleiche Symptom hier in selbstgehostet n8n 2.2.4, und die Authentifizierungserklärung passt nicht zu meinem Fall.

Problem

  • POST an meine Production-Webhook-URL manuell (curl, PowerShell) funktioniert: Ausführung erscheint, läuft, gibt die erwartete Antwort zurück. HTTP 200.
  • Google Chat sendet an die gleiche URL und keine Ausführung wird erstellt. Jede Ausführung, die dieser Webhook je hatte, hat User-Agent curl/8.5.0 oder PowerShell. Keine von Google stammende Anfrage ist je erschienen, auch keine fehlgeschlagene.
  • Google Cloud Logging: Code 13, „Aufgrund eines internen Fehlers konnte Chat die Bot-Antwort nicht verarbeiten

Da @JGCoder bestätigt hat, dass der Webhook-Knoten keine Authentifizierung verwendet und ein manueller authentifizierungsfreier POST funktioniert, würde ich die Diagnose aufteilen, bevor ich JWT-Einstellungen ändere:

  1. Überprüfen Sie das Zugriffsmittel des Reverse-Proxy/Ingress beim Versand eines Google-Chat-Testereignisses. Wenn keine Google-Anfrage erscheint, liegt der Fehler vor n8n: Überprüfen Sie die genaue Produktions-URL der Chat-App, die POST-Methode, Bereitstellung/Verfügbarkeit und den Zugriff des Testbenutzers.
  2. Wenn die Anfrage mit 30x oder 403 angezeigt wird, beheben Sie die Weiterleitung, WAF oder TLS-/Proxy-Regel.
  3. Wenn sie n8n erreicht, aber keine Ausführung erzeugt, überprüfen Sie die veröffentlichte Webhook-Registrierung sowie den genauen Pfad und die Methode.

Für einen Test reduzieren Sie den Workflow auf Webhook (POST, Produktions-URL) -> Auf Webhook antworten und geben Sie innerhalb weniger Sekunden HTTP 200 mit {"text":"ok"} zurück. Vergleichen Sie dann die in Google Cloud Logging angezeigte URL und den Status mit dem Proxy-Mittel. Das zeigt, ob der Fehler bei der Google-Chat-Zustellung, dem Edge/Proxy oder n8n selbst liegt.