HTTP Request Node nach Cloud-Update 2.19.5 defekt - config.headers.setContentType ist keine Funktion

HTTP Request-Node nach Update auf n8n Cloud 2.19.5 defekt (config.headers.setContentType is not a function)

Nach dem Upgrade auf n8n Cloud 2.19.5 schlugen HTTP Request-Nodes fehl mit:

config.headers.setContentType is not a function

Umgebung:

  • n8n Cloud

  • Version: 2.19.5

Betroffener Node:

  • HTTP Request

  • Node-Version: 4.2

Minimale Reproduktion:

  • Methode: GET

  • URL:

https://api.openai.com/v1/vector_stores

Authentifizierung:

  • Vordefinierter Anmeldedatentyp

  • Anmeldedatentyp: OpenAI

Die Anfrage schlägt fehl, bevor sie den Endpunkt erreicht.

Ich habe auch getestet:

  • Authentifizierung = Keine

  • manueller Authorization-Header

  • Entfernen von Content-Type

  • Using JSON

  • Using Fields Below

  • Erstellen eines brandneuen HTTP Request-Nodes

Derselbe Fehler in allen Fällen.

Beispiel-Stack-Trace:

NodeApiError: config.headers.setContentType is not a function

Dies trat sofort nach dem Cloud-Upgrade auf.

Sieht jemand anderes das auf Cloud 2.19.5?

Es handelt sich wahrscheinlich um ein fehlerhaftes Axios-/Header-Handling-Problem, das in dem neuesten Cloud-Update eingeführt wurde. Ich könnte mich allerdings irren.

@Gianluca Willkommen in der Community!

Ja, das sieht nach einem Regression in Cloud 2.19.5 aus, nicht nach einem Problem mit deiner HTTP-Konfiguration.

Da der Fehler auch bei folgender Konfiguration auftritt:

  • neuer HTTP-Anfrage-Knoten

  • Authentifizierung deaktiviert

  • manuell gesetzte Header

  • einfache GET-Anfrage

…tritt das Problem wahrscheinlich auf, bevor die Anfrage gesendet wird.

Aktuell beste Workaround:

  • melde das Problem mit dieser minimalen Reproduktion an den n8n-Support

  • frage, ob sie eine Rollback oder einen Patch für deine Cloud-Instanz bereitstellen können

  • vermeide ein Upgrade anderer Instanzen auf 2.19.5, wenn möglich

Hallo,

ich habe versucht, einen neuen HTTP Request-Knoten zu erstellen, aber es ist nichts passiert…

@Gianluca hat sich die GitHub-Issue genauer angesehen – der Fehler liegt im globalen Axios-Request-Interceptor von n8n für jede URL, die mit https://api.openai.com/ beginnt. applyVendorHeaders weist config.headers einem einfachen Objekt zu, das keine setContentType-Methode besitzt, wodurch der Interceptor downstream abstürzt. Dies betrifft jeden Code-Pfad, der über den n8n-Request-Helfer läuft (HTTP-Request-Knoten, Code-Knoten, AI-Agent-Knoten), unabhängig vom Anmeldeinformations-Typ.

Das n8n-Team hat dies als Issue #29471 verfolgt, mit dem Status „in-linear, team-assigned“, sodass eine Korrektur bevorsteht. Bis dahin:

  • Der LangChain-OpenAI-Knoten (@n8n/n8n-nodes-langchain.openAi) nutzt einen anderen SDK-Pfad und könnte den Interceptor umgehen – einen Versuch wert für die von ihm abgedeckten Operationen.
  • Falls Sie das raw vector_stores-Endpunkt benötigen, leiten Sie die Anfrage über einen kleinen Proxy weiter (Cloudflare Worker oder eine beliebige URL, die an api.openai.com weiterleitet), damit die URL nicht den Interceptor auslöst.

funktioniert leider nicht

Bestätigter Fehler — Der globale Axios-Interceptor von n8n stürzt bei jeder URL ab, die mit api.openai.com/ beginnt. applyVendorHeaders überschreibt config.headers in ein einfaches Objekt, woraufhin ein nachgelagerter Interceptor setContentType nicht mehr aufrufen kann und abstürzt. Dies betrifft HTTP-Request, Code (helpers.httpRequest) und AI Agent – alles, was über den n8n-Request-Helfer läuft. Der Credential-Typ spielt keine Rolle, da die Übereinstimmung auf URL-Basis erfolgt.

Verfolgt unter:

Die sauberste Workaround-Lösung, bis n8n einen Patch bereitstellt, ist ein Cloudflare Worker-Proxy. Einrichtung in ca. 5 Minuten, der Free-Tier bewältigt 100.000 Anfragen/Tag.

Bei workers.cloudflare.com → Worker erstellen → einfügen:

export default {
async fetch(request) {
const url = new URL(request.url);
url.host = ‘api.openai.com’;
url.protocol = ‘https:’;
return fetch(new Request(url, request));
}
}

Man muss die Nutzungsbedingungen genau lesen. In der Praxis ist es nur für etwa 15 Minuten gut.

@kjooleng ja, ich sehe, worauf du hinweist, diese 10ms CPU ist wirklich ein echtes Limit, das ist ärgerlich