您正在查看 Apigee Edge 文档。
前往 Apigee X 文档。 信息
由于缺少 package.json,构建/部署失败
Node.js 应用的根目录中必须包含 package.json 文件。如果尝试在没有 package.json 文件的情况下创建/部署代理,则会在构建时失败。
从代理接收到 502 Bad Gateway
如果进程无法启动,可能会出现“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": {
}
}代理挂起并返回 504 网关超时
如果托管目标应用未在超时时限内做出响应,则可能会出现“504 网关超时”错误。
检查以确保您的应用正在监听环境变量 PORT 中设置的端口。
您可以在应用中使用 process.env.PORT 访问此变量。
否则,您可以检查运行时日志中是否有任何其他错误消息。另请参阅在应用运行时设置的环境变量。
此外,Google App Engine (GAE) 规定了 60 秒的请求超时时间。另请参阅 GAE 文档中的配额和限制。
路径中包含非法字符
如果您在部署包含托管目标的代理时看到类似于以下内容的错误,原因可能是代理名称包含空格。您不得在具有托管目标的代理名称中使用空格。
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 的情况下运行应用任务。