AWS Elastic Beanstalk负载均衡环境请求60秒超时,调整后仍无效怎么办?
Elastic Beanstalk负载均衡环境请求60秒超时排查方案
检查负载均衡器的请求超时(Request Timeout):你修改的是连接空闲超时,但ALB默认的请求超时为60秒——只要请求处理时长超过这个值,负载均衡器会直接终止连接。修改步骤:
- 进入EC2控制台的负载均衡器页面,找到你的ALB
- 切换到「属性」标签,找到「请求超时」选项,调整为你需要的时长(例如300秒)并保存
确认Apache核心超时配置:
- 若使用Amazon Linux 1环境,通过
.ebextensions配置修改Apache的Timeout指令:创建.ebextensions/httpd/conf.d/timeout.conf文件,内容如下:Timeout 300 - 若为Amazon Linux 2环境,同样用
.ebextensions添加配置覆盖默认值。如果是PHP应用,还要检查PHP-FPM的request_terminate_timeout参数,确保设置大于60秒,可在php-fpm.conf中添加:request_terminate_timeout = 300s
- 若使用Amazon Linux 1环境,通过
排查反向代理(如Nginx)的超时设置:
部分Elastic Beanstalk环境(比如Amazon Linux 2的PHP平台)会用Nginx作为前端反向代理,转发请求到Apache,此时需要修改Nginx的代理超时:
创建.ebextensions/nginx/conf.d/timeout.conf文件,内容如下:proxy_connect_timeout 300s; proxy_send_timeout 300s; proxy_read_timeout 300s;部署该配置文件后,重新发布应用使Nginx配置生效
验证Elastic Beanstalk的「Max execution time」是否生效:
登录EC2实例,直接查看对应配置文件(如PHP的php.ini),确认max_execution_time是否为你设置的值——部分情况下平台可能未正确覆盖默认配置
关于重建环境
不需要急着重建,多数超时问题都是某个配置点未覆盖导致的,按上述步骤排查修改后,重新部署应用或重启服务即可。只有当所有配置确认正确但问题仍存在时,再考虑重建环境(处理环境配置缓存异常的极端情况)。
内容的提问来源于stack exchange,提问作者Adem Tepe
相关产品推荐
相关产品推荐

