Fehler bei Node.js-Proxys beheben

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Es empfiehlt sich, dafür zu sorgen, dass jeder Node.js-Code, den Sie einem Proxy hinzufügen, funktioniert, bevor Sie ihn in Edge bereitstellen. In diesem Thema werden Möglichkeiten zur Fehlerbehebung und Fehlerbehebung bei Proxys, die Node.js-Anwendungen enthalten, nach ihrer Bereitstellung beschrieben.

Verbindungspoolgröße erhöhen, um die Leistung zu verbessern

Wenn die Leistung langsam ist, können Sie das Problem möglicherweise beheben, indem Sie die Standardgröße des Node.js-Verbindungspools mit maxSockets erhöhen oder Socket-Pooling deaktivieren. Weitere Informationen und Beispielcode finden Sie in der Apigee-Community unter Node.js-Leistungstipps: Socket-Pooling.

Node.js-Logs ansehen

So rufen Sie Loginformationen zu Ihrer Node.js-Anwendung auf:

  1. Klicken Sie auf der Hauptseite der API-Proxys auf den Proxy, den Sie anzeigen möchten.
  2. Klicken Sie auf der Übersichtsseite des ausgewählten Proxys rechts in der Symbolleiste auf Node.js-Logs.

Auf der Seite „Logs“ können Sie einen Zeitraum für die Anzeige von Logs auswählen, wie unten gezeigt. In den Logs werden HTTP-Methodenaufrufe, erfolgreiche oder fehlgeschlagene Aufrufe, console.log-Nachrichten usw. aufgezeichnet. Geben Sie einen Suchstring in das Suchfeld ein, um alle Logeinträge aufzurufen, die den String enthalten.

Trace-Tool verwenden

Das Trace-Tool eignet sich für das allgemeine Proxy-Debugging. Ausführliche Informationen zur Verwendung des Trace-Tools finden Sie unter Trace-Tool verwenden.

Konsolenausgabe drucken

Sie können console.log-Anweisungen in Ihren Node.js-Code einbetten und die Ausgabe im Trace-Tool ansehen. Die folgende Anweisung gibt beispielsweise den Wert der Variablen config.user aus:

console.log('Logging in as %s', config.username);

Um die Ausgabe von console.log-Nachrichten im Trace-Tool anzuzeigen, rufen Sie Ihre API im Trace-Tool auf und klicken Sie auf Ausgabe aus allen Transaktionen , um das Ausgabefeld zu öffnen:

Angenommen, Sie haben den folgenden Code ausgeführt...

var http = require('http');

console.log('node.js application starting...');

var svr = http.createServer(function(req, resp) {
    resp.end('Hello, World!');
});

svr.listen(9000, function() {
    console.log('Node HTTP server is listening');
});

... werden die Konsolenanweisungen im Steuerfeld angezeigt:

Nginx-Zielzeitüberschreitungseinstellungen konfigurieren

Wenn Sie Nginx als Proxy verwenden und die Fehlermeldung „Falsches Gateway“ angezeigt wird, erhöhen Sie das Zeitlimit für den Nginx-Proxy wie hier beschrieben:

Beispiel:

proxy_connect_timeout       60;
proxy_read_timeout          120;

Je nachdem, wie lange der Server für die Antwort benötigt, können Sie Ihre idealen Zeitüberschreitungskonfigurationen ermitteln. Beispielsweise kann ein Lesezeitlimit von 45 bis 60 Sekunden ideal sein, um einen angemessenen Zwischenspeicher bereitzustellen.

Apigee-Zielzeitüberschreitungseinstellungen konfigurieren

Sie können die Apigee-Standardzeitüberschreitungswerte auch im HttpTargetConnection-Element im TargetEndpoint konfigurieren. Die Standardwerte sind:

connect.timeout.millis - 60 seconds
io.timeout.millis - 120 seconds
<HTTPTargetConnection>
    <Properties>
        <Property name="connect.timeout.millis">5000</Property>
        <Property name="io.timeout.millis">5000</Property>
    </Properties>
    <URL>http://www.google.com</URL>
</HTTPTargetConnection>

Siehe auch Referenz zu Endpunkteigenschaften.

Weitere Informationen

Weitere Informationen zur Fehlerbehebung finden Sie unter:

Nächste Schritte

Informationen zur Node.js-Modulunterstützung in Apigee Edge, einschließlich Informationen zur Unterstützung von HTTP/HTTPS, TLS und anderen erweiterten Themen, finden Sie unter Edge-Unterstützung für Node.js-Module.