Sie sehen sich die Dokumentation zu Apigee Edge an.
Rufen Sie die Dokumentation zu Apigee X auf. Weitere Informationen
Es empfiehlt sich, sicherzustellen, dass jeder Node.js-Code, den Sie einem Proxy hinzufügen, funktioniert, bevor Sie ihn in Edge bereitstellen. In diesem Thema werden Möglichkeiten zum Debuggen und Beheben von Fehlern bei Proxys erläutert, die Node.js-Anwendungen enthalten, nachdem sie bereitgestellt wurden.
Größe des Verbindungspools erhöhen, um die Leistung zu verbessern
Wenn die Leistung zu gering ist, können Sie das Problem möglicherweise beheben, indem Sie die Standardgröße des Node.js-Verbindungspools mit maxSockets erhöhen oder das Socket-Pooling vollständig deaktivieren. Weitere Informationen und Beispielcode finden Sie in der Apigee-Community unter Node.js-Leistungstipps: Socket-Pooling.
Node.js-Logs ansehen
So rufen Sie Protokollinformationen zu Ihrer Node.js-Anwendung auf:
- Klicken Sie auf der Hauptseite „API-Proxys“ auf den Proxy, den Sie aufrufen möchten.
- Klicken Sie auf der Übersichtsseite des ausgewählten Proxys rechts in der Symbolleiste auf Node.js-Protokolle.
Auf der Seite „Protokolle“ können Sie wie unten dargestellt einen Zeitraum für die anzuzeigenden Protokolle auswählen. Die Protokolle erfassen HTTP-Methodenaufrufe, den Erfolg oder Misserfolg von Aufrufen, console.log-Nachrichten usw. Geben Sie einen Suchstring in das Suchfeld ein, um alle Logeinträge anzuzeigen, die den String enthalten.
Trace-Tool verwenden
Das Trace-Tool ist nützlich für die allgemeine Proxy-Fehlerbehebung. Ausführliche Informationen zur Verwendung des Trace-Tools finden Sie unter Trace-Tool verwenden.
Ausgabe der Druckkonsole
Sie können console.log-Anweisungen in Ihren Node.js-Code einbetten und die Ausgabe im Trace-Tool ansehen. Mit der folgenden Anweisung wird beispielsweise der Wert der Variablen config.user ausgegeben:
console.log('Logging in as %s', config.username);
Wenn Sie die Ausgabe von console.log-Nachrichten im Trace Tool aufrufen möchten, rufen Sie Ihre API im Trace Tool auf und klicken Sie auf Output from all Transactions (Ausgabe von 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'); });
... die Konsolenanweisungen im Steuerfeld angezeigt werden:
Nginx-Zielzeitüberschreitungseinstellungen konfigurieren
Wenn Sie Nginx als Proxy verwenden und „Bad Gateway“-Fehler auftreten, versuchen Sie, die Zeitüberschreitungskonfiguration des Nginx-Proxy wie hier beschrieben zu erhöhen:
Beispiel:
proxy_connect_timeout 60; proxy_read_timeout 120;
Je nachdem, wie lange der Server benötigt, um zu antworten, können Sie die idealen Zeitüberschreitungskonfigurationen festlegen. Eine Lesezeitüberschreitung von 45 bis 60 Sekunden kann beispielsweise ideal sein, um einen angemessenen Puffer bereitzustellen.
Apigee-Zeitlimiteinstellungen für Ziele konfigurieren
Sie können die Apigee-Standardzeitüberschreitungswerte auch im Element „HttpTargetConnection“ 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>
Weitere Informationen finden Sie unter Referenz für Endpunktattribute.
Weitere Informationen
Weitere Informationen zur Fehlerbehebung finden Sie unter:
- Trace-Tool verwenden
- Leistungsmesswerte verwenden
- Einführung in die Fehlerbehebung
- Audits: API-, Produkt- und Organisationsverlauf
Nächste Schritte
Informationen zur Unterstützung von Node.js-Modulen in Apigee Edge, einschließlich Informationen zur Unterstützung von HTTP/HTTPS, TLS und anderen erweiterten Themen, finden Sie unter Grundlegendes zur Edge-Unterstützung für Node.js-Module.