我们一直在针对一个行为不端的网络应用程序测试Elastic Beanstalk(我们唉,无法控制)。有时在发送响应的第一个字节之前需要超过60秒,但在60秒标记处,应用程序会从nginx发送504:Gateway Timeout消息。
我们需要将60秒设置为更高的值。我们尝试将这些设置添加到我们发送到“aws eb create-environment ...”
的文件中{ "Namespace": "aws:elb:policies:myPolicy",
"OptionName": "ConnectionSettingIdleTimeout", "Value": "300" }
但他们似乎并没有影响60秒超时。我们做错了什么?
答案 0 :(得分:1)
报告的错误可能来自您的ELB,但通常来自Nginx。在前一种情况下,您可以使用IdleTimeout
将AWS CLI
提升到更高的限制:
# Modify ELB idle-timeout
aws elb modify-load-balancer-attributes --load-balancer-name <myloadbalancer> --load-balancer-attributes "{\"ConnectionSettings\":{\"IdleTimeout\":180}}"
在后一种情况下,请考虑提高keepalive_timeout
块中nginx.conf
的{{1}}限制,类似于以下内容,然后重新启动它(http
):
sudo service nginx restart