Fehler bei Node.js-Proxys beheben

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

Es empfiehlt sich, vor der Bereitstellung sicherzustellen, dass jeder Node.js-Code, den Sie einem Proxy hinzufügen, funktioniert. es an Edge. In diesem Thema werden Möglichkeiten zum Debuggen und Beheben von Problemen mit Proxys beschrieben, die Node.js enthalten. nachdem sie bereitgestellt wurden.

Verbindungspoolgröße erhöhen auf Leistung verbessern

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

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 auf Node.js Logs auf der rechten Seite der Symbolleiste.

Auf der Seite „Logs“ können Sie wie unten gezeigt einen Zeitraum für die Anzeige auswählen. Logeintrag HTTP-Methodenaufrufe, erfolgreiche oder fehlgeschlagene Aufrufe, console.log-Nachrichten usw. Suchbegriff eingeben String im Suchfeld, um alle Logeinträge anzuzeigen, die den String enthalten.

Trace-Tool verwenden

Das Trace-Tool ist für das allgemeine Proxy-Debugging nützlich. Ausführliche Informationen zur Verwendung der siehe Trace verwenden .

Ausgabe der Druckkonsole

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

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

Rufen Sie zum Anzeigen der Ausgabe von console.log-Nachrichten im Trace-Tool folgenden Befehl auf: im Trace-Tool Ihre API und klicken Sie auf Ausgabe aller Transaktionen , um Öffnen Sie das Ausgabefeld:

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');
});

... die Konsolenanweisungen im Steuerfeld angezeigt werden:

Einstellungen für das Nginx-Zielzeitlimit konfigurieren

Wenn Sie Nginx als Proxy verwenden und die Meldung „Fehlerhaftes Gateway“ angezeigt wird Fehler beheben, versuchen Sie, den Nginx-Proxy zu erhöhen für die Zeitüberschreitungskonfiguration wie hier erläutert:

Beispiel:

proxy_connect_timeout       60;
proxy_read_timeout          120;

Je nachdem, wie lange der Server eine Antwort benötigt, kann das ideale Zeitlimit Konfigurationen. Beispielsweise kann ein Lese-Timeout von 45 bis 60 Sekunden ideal sein, um eine Puffer zu nehmen.

Einstellungen für das Apigee-Zielzeitlimit konfigurieren

Sie können die Apigee-Standardzeitüberschreitungswerte auch im HttpTargetConnection-Element konfigurieren. im TargetEndpoint. 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 Endpunktattributen.

Weitere Informationen

Weitere Informationen zur Fehlerbehebung finden Sie unter:

Nächste Schritte

Informationen zur Unterstützung des Node.js-Moduls in Apigee Edge, einschließlich Informationen zu Unterstützung für HTTP/HTTPS, TLS und andere erweiterte Themen finden Sie unter Grundlegendes zur Edge-Unterstützung für Node.js-Module.