首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Elasticbean秸秆返回"504网关超时“

问Elasticbean秸秆返回"504网关超时“
EN

Stack Overflow用户
提问于 2021-08-29 16:31:16
回答 1查看 1.1K关注 0票数 0

我的API中有一个端点,它需要一些时间才能返回一个响应(>1分钟)。

我已经将我的API部署到Elasticbean秸秆,现在当我尝试访问它时,我从Nginx获得了504网关超时

代码语言:javascript
复制
<html>
<head><title>504 Gateway Time-out</title></head>
<body>
<center><h1>504 Gateway Time-out</h1></center>
</body>
</html>

我怎么才能解决呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-29 16:31:16

像您这样的超时错误应该通过对软件本身的改进来理想地修复,但是如果由于任何原因不能这样做,那么您可以增加nginx和Load均衡器的超时。

在Amazon的早期版本中,您需要在名为.ebextensions的目录中部署具有自定义nginx配置的代码。

对于Amazon 2,情况完全相同,只是略有不同,而不是使用.ebextensions,而是需要在平台的配置中使用.platform文件夹。

因此,在应用程序的预期ElasticBeanstalk包中创建以下结构-

代码语言:javascript
复制
eb-package
└── src
└── .ebextensions
└── .platform
    └── nginx
        └── conf.d
            └── timeout.conf

并将以下内容添加到timeout.conf文件中

代码语言:javascript
复制
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;

您应该知道,在某些情况下,需要通过使用AWS控制台(在EC2下)手动配置负载均衡器超时,或者通过在.ebextensions目录中提供配置文件来增加负载均衡器的超时

例如(注意:此配置将根据您使用的负载均衡器的类型而有所不同):

代码语言:javascript
复制
option_settings:
   - namespace: aws:elb:policies
     option_name: ConnectionSettingIdleTimeout
     value: 300

参见经典负载均衡器与应用程序负载均衡器配置

在AWS的文档中(按08/29/2021),更新的应用程序负载均衡器没有默认超时。经典负载均衡器有60秒的超时时间。

aws:elb:policies对aws:elbv2:loadbalancer

有关更多信息,请参见

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68974919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档