如何解决 AWS Elastic Beanstalk 504 超时错误?

How to solve AWS Elastic Beanstalk 504 Timeout Error?

我正在使用 AWS Elastic Beanstalk 托管 Express/Node.js API 服务器。 它在正常的 API 上运行良好,但我收到此 504 超时错误,只有一个 API,最多可能需要超过 20 分钟的时间。 所以,我想我需要增加 Nginx 和 Node.js 服务器的最大请求时间,我通过配置 AWS EB .extensions 和 .platform 变量来做到这一点。

这是我做的。

.platform/nginx/conf.d/timeout.conf

client_header_timeout 3000s;
client_body_timeout 3000s;
send_timeout 3000s;
proxy_connect_timeout 3000s;
proxy_read_timeout 3000s;
proxy_send_timeout 3000s;

.ebextensions/network.config

option_settings:
    - namespace: aws:elasticbeanstalk:command
      option_name: Timeout
      value: 3000

但我仍然收到此错误,我不明白为什么会这样。

如果有人知道如何解决这个问题,将不胜感激。

如果您使用的是“负载平衡”环境类型,请检查负载平衡器的“连接空闲超时”设置。

要验证您的环境是否使用 ELB,请转到“Elastic Beanstalk”->“<your_environment>- > “Configuration”部分并检查“负载平衡器”类别是否存在。在这里您还可以找到您正在使用的 ELB 类型。然后更改 [中的连接空闲超时设置=10=] 到适当的值。