您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
建議您先確認新增至 Proxy 的 Node.js 程式碼可正常運作,再將其部署至 Edge。本主題將討論如何偵錯及排解部署後包含 Node.js 應用程式的 Proxy 問題。
增加連線集區大小,提升效能
如果發現效能緩慢,您或許可以透過 maxSockets 增加預設的 Node.js 連線集區大小,或完全停用通訊端集區,解決這個問題。如需詳細資訊和程式碼範例,請參閱 Apigee 社群中的「Node.js 效能提示:通訊端集區」。
查看 Node.js 記錄
如要查看 Node.js 應用程式的記錄資訊,請按照下列步驟操作:
- 在主要 API Proxy 頁面中,按一下要查看的 Proxy。
- 在所選 Proxy 的摘要頁面中,按一下工具列右側的「Node.js Logs」。
在「記錄」頁面中,您可以選取要查看的記錄時間範圍,如下所示。記錄檔會記錄 HTTP 方法呼叫、呼叫成功或失敗、console.log 訊息等。在搜尋欄位中輸入搜尋字串,即可顯示所有包含該字串的記錄項目。

使用追蹤工具
追蹤工具適用於一般 Proxy 偵錯。如要進一步瞭解如何使用追蹤工具,請參閱「使用追蹤工具」。
列印控制台輸出內容
您可以在 Node.js 程式碼中嵌入 console.log 陳述式,並在追蹤工具中查看輸出內容。舉例來說,下列陳述式會列印變數 config.user 的值:
console.log('Logging in as %s', config.username);

如要在追蹤工具中查看 console.log 訊息的輸出內容,請在追蹤工具中呼叫 API,然後按一下「Output from all Transactions」(所有交易的輸出內容) ,開啟輸出面板:

假設您已執行下列程式碼...
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'); });
... 控制台陳述式會顯示在面板中:

設定 Nginx 目標逾時設定
如果您使用 Nginx 做為 Proxy,並看到「Bad Gateway」錯誤,請嘗試增加 Nginx Proxy 逾時設定,說明如下:
例如:
proxy_connect_timeout 60; proxy_read_timeout 120;
伺服器回應所需的時間長度,決定了理想的逾時設定。舉例來說,45 到 60 秒的讀取逾時時間可能很理想,可提供合理的緩衝區。
設定 Apigee 目標逾時設定
您也可以在 TargetEndpoint 的 HttpTargetConnection 元素中,設定 Apigee 預設逾時值。預設值如下:
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>
另請參閱端點屬性參考資料。
瞭解詳情
如要進一步瞭解如何偵錯,請參閱:
後續步驟
如要瞭解 Apigee Edge 中的 Node.js 模組支援,包括 HTTP/HTTPS、TLS 和其他進階主題的支援資訊,請參閱「瞭解 Edge 對 Node.js 模組的支援」。