Elastic Beanstalk无Nginx/负载均衡Docker环境60秒超时问题
问题说明
- 部署环境为无负载均衡的单实例Docker容器,未配置代理服务器,运行平台为64bit Amazon Linux 2/3.4.10版本Docker,无论如何调整配置,请求都会在恰好60秒时触发超时。
- 已花费40余小时排查,查阅了所有可找到的相关资料。现有同类问题的解决方案均提示需要修改Nginx或负载均衡配置,但当前环境既未部署Nginx也未使用负载均衡,超时问题依旧存在,高度怀疑是AWS平台自身的默认配置缺陷。
- 自建简易服务中编写了名为
time_test的测试接口,向该接口发起POST请求时,总会在60秒时触发超时,客户端抛出请求异常,但服务端日志显示请求实际已处理成功。
复现信息
测试所用Python请求代码如下:
import requests url = f"http://...us-east-1.elasticbeanstalk.com/" time_to_sleep = 65 url += f"time_test?time_to_sleep={time_to_sleep}" response = requests.post(url=url, timeout=10000)
- 异常表现:请求固定在发起后60秒抛出
HTTPSException错误,提示服务端终止了响应。 - 服务端日志验证:容器日志路径为
eb-docker/containers/eb-current-app/eb-blahblah-stdouterr.log,日志明确记录请求返回200成功状态码,日志内容如下:
[01/Jun/2022 22:05:49] "POST /time_test?time_to_sleep=65 HTTP/1.1" 200 -
诉求
寻求可调整环境配置以支持超过60秒长请求的可行方案,请勿回复“应当缩短请求时长”这类不适用、无帮助的内容,后续排查到根因会同步更新。
已排查参考方向
- AWS EB部署Docker环境下的服务超时配置调整
- Elastic Beanstalk WebSocket连接意外断连问题
- Elastic Beanstalk部署应用出现504错误的通用排查
- Elastic Beanstalk平台ebextensions自定义配置部署方法
内容的提问来源于stack exchange,提问作者Joshua Wolff
相关产品推荐
相关产品推荐

