您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档。 信息
由于缺少 package.json,构建/部署失败
Node.js 应用的根目录中必须有 package.json
文件。在没有 package.json
的情况下尝试创建/部署代理的操作将在构建时失败。
从代理接收 502 错误网关
该进程启动失败时,可能会出现“502 Bad Gateway”错误。如需调试此问题,请在启动时检查运行时日志并查找错误消息。一种常见错误是 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": { } }
代理挂起并返回 504 网关超时
如果 Hosted Target 目标应用在超时限制内没有响应,则可能会发生“504 Gateway Timeout”错误。
检查以确保您的应用正在监听环境变量 PORT
中设置的端口。您可以在应用中使用 process.env.PORT
访问此变量。否则,您可以检查运行时日志,看看是否有任何其他错误消息。另请参阅应用运行时中设置的环境变量。
此外,Google App Engine (GAE) 将请求超时设置为 60 秒。另请参阅 GAE 文档中的配额和限制。
路径中含有非法字符
如果您在使用 Hosted Target 部署代理时看到类似如下内容的错误,则原因可能是代理名称包含空格。不得在托管目标的代理名称中使用空格。
Illegal character in path at index 69: https://my-domain.net/organizations/my-org/apps/MD5 Hash/revision/1733635923
npm ERR! rofs EROFS:只读文件系统
托管目标应用使用 tmpfs
文件系统在容器中运行。Hosted Target 应用只能写入文件系统中的 /tmp
目录。
遗憾的是,较新版本的 NPM 将尝试向其缓存、日志等写入 /root/.npm
。如需解决此问题,请参阅更改 NPM 缓存位置或在没有 NPM 的情况下运行应用任务。