您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件。 資訊
缺少 package.json,因此建構/部署失敗
Node.js 應用程式的根目錄需要 package.json
檔案。如果沒有 package.json
,嘗試建立/部署 Proxy 都會在建構時失敗。
接收來自 Proxy 的 502 閘道錯誤
如果程序無法啟動,可能會發生「502 錯誤閘道」錯誤。如要進行偵錯,請檢查執行階段記錄檔,並在啟動時尋找錯誤訊息。常見的錯誤是 package.json
中缺少啟動指令或啟動指令無效。package.json
至少應在 scripts
屬性中指定 "start": "node ."
。例如:
{ "name": "hello-world", "version": "1.0.0", "main": "index.js", "scripts": { "start": "node ." }, "author": "", "license": "", "description": "Hello World Application", "dependencies": { } }
Proxy 當機並傳回 504 閘道逾時
如果代管目標的應用程式未在逾時限制內回應,可能會發生「504 閘道逾時」錯誤。
請確認應用程式正在監聽環境變數 PORT
中設定的通訊埠。您可以在應用程式中使用 process.env.PORT
存取這個變數。否則,您可以查看執行階段記錄中是否有其他錯誤訊息。另請參閱「在應用程式執行階段中設定的環境變數」。
此外,Google App Engine (GAE) 會設定 60 秒的要求逾時。請一併參閱 GAE 說明文件中的配額與限制。
路徑含有無效字元
如果您在部署含有代管目標的 Proxy 時看到類似下列錯誤,原因可能是 Proxy 名稱包含空格。您不得在 Proxy 名稱中使用空間搭配代管目標。
Illegal character in path at index 69: https://my-domain.net/organizations/my-org/apps/MD5 Hash/revision/1733635923
npm ERR! rofs EROFS:唯讀檔案系統
代管目標應用程式會使用 tmpfs
檔案系統,在容器中執行。只有檔案系統中的 /tmp
目錄能夠由代管目標應用程式寫入。很抱歉,較新版本的 NPM 會嘗試針對快取、記錄等資料寫入 /root/.npm
。如要解決這個問題,請參閱「變更 NPM 快取位置」或「在不使用 NPM 的情況下執行應用程式」。