【问题标题】:AWS elastic load balancer timeoutAWS 弹性负载均衡器超时
【发布时间】:2017-09-30 12:00:53
【问题描述】:

我们一直在针对行为不端的 Web 应用程序(唉,我们无法控制)测试 Elastic Beanstalk。有时在发送响应的第一个字节之前需要超过 60 秒,但在 60 秒标记处,应用程序会从 nginx 发送 504: Gateway Timeout 消息。

我们需要将 60 秒设置为更高的值。我们尝试将这些设置添加到我们发送到“aws eb create-environment...”的文件中

{ "Namespace": "aws:elb:policies:myPolicy",
"OptionName": "ConnectionSettingIdleTimeout", "Value": "300" }

但它们似乎不影响 60 秒超时。我们做错了什么?

【问题讨论】:

标签: amazon-web-services


【解决方案1】:

报告的错误可能来自您的ELB,但通常来自 Nginx。在前一种情况下,您可以使用AWS CLIIdleTimeout 提高到更高的限制:

# Modify ELB idle-timeout
aws elb modify-load-balancer-attributes --load-balancer-name <myloadbalancer> --load-balancer-attributes "{\"ConnectionSettings\":{\"IdleTimeout\":180}}"

在后一种情况下,考虑在http 块内提高nginx.conf 中的keepalive_timeout 限制,类似于以下内容,然后重新启动它(sudo service nginx restart):

http {
  // ...
  keepalive_timeout 180s;
}

【讨论】:

  • 太棒了。你知道如何通过 eb 扩展方便地指定 ngnix 超时吗?
  • 不,很遗憾。我在不使用ebextensions 的情况下完成了 Nginx 和 ELB 的所有配置调优。也许您会对link 中的示例感兴趣。
猜你喜欢
  • 1970-01-01
  • 2013-07-19
  • 2021-05-27
  • 2018-05-02
  • 1970-01-01
  • 2013-03-22
  • 2014-01-24
  • 2014-07-18
  • 2014-04-26
相关资源
最近更新 更多