【问题标题】:Google Cloud Node.js (502 Bad Gateway) without any errors in logsGoogle Cloud Node.js(502 Bad Gateway)在日志中没有任何错误
【发布时间】:2020-01-17 15:08:03
【问题描述】:

在我将 node.js 代码上传到应用程序引擎后,我从谷歌云获得了 (502 Bad Gateway nginx)。我的日志中没有错误。网上查了很多都没有用,但是看了一篇文章说因为响应时间长,服务器返回(502 Bad Gateway)。

这是我的监听代码:

const server = app.listen(8080, () => {
    const host = server.address().address;
    const port = server.address().port;

    console.log("EDU-vents server started");
});

这是我的 app.yaml:

runtime: nodejs
env: flex

我的 package.json 包含一个启动脚本

提前谢谢你。

【问题讨论】:

    标签: node.js google-app-engine yaml cloud package.json


    【解决方案1】:

    通常,当您遇到 5.x.x(502、503 等)时,建议您等待一分钟,然后再次尝试请求。您可以找到更多关于 App Engine flexible environment 特定错误的信息。

    但是,大多数情况下,带有“BAD_GATEWAY”的错误代码 502 表示 GAE 终止了应用程序,因为它用尽了内存。默认情况下,GAE Flex 只有 1GB 内存,只有 600MB 可用于应用程序容器。以下documentation 描述了如何解决此类错误的步骤(您很可能必须调查您的Stackdriver logs

    我建议您指定更高的 CPU 和内存 your instance。如果指定更高的 CPU 和内存不起作用。我建议你检查 Nginx 错误日志by following。在通过 SSH 连接到 VM 实例之前,您需要为 VM 实例 enable debug mode

    如果不是这样,您是否有任何支持包/免费试用?我建议您直接在他们的支持中心打开支持票,如果没有,您可以通过Google Issue Tracker 联系 Google,因为 5XX 错误可能由不同的原因引起。

    【讨论】:

    • 我联系了支持。他们告诉我将环境更改为标准。完成后,我开始收到错误2019/09/18 14:46:51 [error] 24#24: *2 upstream prematurely closed connection while reading response header from upstream, client: 169.254.1.1, server: _, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8081/"
    • 我在8081端口看到错误,请确保应用程序正在监听默认使用的8080端口,您可以尝试添加port here;一些客户通过更改超时找到了solution。看看 GAE 的日志。 1/2
    • 这可能是代码问题,您可能需要共享您的 app.yaml 并添加 some logs 以了解您的应用程序在什么时候过早关闭连接,然后使用支持更合适. 2/2
    猜你喜欢
    • 2020-05-15
    • 2018-11-12
    • 2017-12-13
    • 1970-01-01
    • 2018-04-23
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多