【发布时间】:2022-06-28 01:47:42
【问题描述】:
我有一个单实例(无负载均衡器)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)
这会引发 HTTPSException 错误,表明服务器终止响应,总是在 60 秒时结束。
但是,日志显示响应成功。
我的日志(特别是“eb-docker/containers/eb-current-app/eb-blahblah-stdouterr.log)显示
[01/Jun/2022 22:05:49] "POST /time_test?time_to_sleep=65 HTTP/1.1" 200 -
注意200成功状态码。
我将继续寻找这个问题的答案,似乎没有,如果有,我会报告。任何有关如何更改环境以接受 >60 秒请求的帮助将不胜感激。请不要回答,“你应该有更短的请求时间。”没有帮助或不适用。
(平台 = 运行在 64 位 Amazon Linux 2/3.4.10 上的 Docker)
相关:
- How to increase FastAPI timeout in Docker to be deployed on AWS EB?
- Elastic Beanstalk WebSocket Connection Dropped
- PHP beanstalk application giving 504 errors
- Blazor Server Side - Frequent 504 errors in AWS environment
- 504 error on aws elastic beanstalk
- Deploying ebextensions on Elastic beanstalk and EC2
【问题讨论】:
-
如果您不使用 NGINX,我假设您使用的是 Apache?或者你用什么作为网络服务器?
-
平台为Docker时可以在配置中选择“无代理”