如何解决 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
但我仍然收到此错误,我不明白为什么会这样。
- 另请注意:Elastic Beanstalk 服务器由 CloudFront 和 AWS Route 53 提供 public 域地址和 HTTPS 连接。
如果有人知道如何解决这个问题,将不胜感激。
如果您使用的是“负载平衡”环境类型,请检查负载平衡器的“连接空闲超时”设置。
要验证您的环境是否使用 ELB,请转到“Elastic Beanstalk”->“<your_environment>- > “Configuration”部分并检查“负载平衡器”类别是否存在。在这里您还可以找到您正在使用的 ELB 类型。然后更改 [中的连接空闲超时设置=10=] 到适当的值。
我正在使用 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
但我仍然收到此错误,我不明白为什么会这样。
- 另请注意:Elastic Beanstalk 服务器由 CloudFront 和 AWS Route 53 提供 public 域地址和 HTTPS 连接。
如果有人知道如何解决这个问题,将不胜感激。
如果您使用的是“负载平衡”环境类型,请检查负载平衡器的“连接空闲超时”设置。
要验证您的环境是否使用 ELB,请转到“Elastic Beanstalk”->“<your_environment>- > “Configuration”部分并检查“负载平衡器”类别是否存在。在这里您还可以找到您正在使用的 ELB 类型。然后更改 [中的连接空闲超时设置=10=] 到适当的值。