我在日志中得到了这个错误。[error] 117#117: *16706 upstream timed out (110: Operation timed out) while reading response header from upstream.I已经尝试了各种可能的方法来检查我从哪里得到这个确切的60年代超时时间。
我还将添加更多细节,说明我是如何产生这个错误的(如果需要的话)。当我在本地运行dotnet (dockerized)时,我没有看到任何超时。该API运行时间超过5分钟,但在AKS集群中,它会在60多个小时内超时。
因此,我在配置映射中使用这些标头(对于nginx控制器),.I通过逐个删除和添加这些头来检查它,但在超时中没有改变。
client-header-timeout: "7200"
keep-alive: "300"
keep-alive-requests: "100000"
keepalive-timeout: "300"
proxy-connect-timeout: "7200"
proxy-read-timeout: "7200"
proxy-send-timeout: "7200"
upstream-keepalive-requests: "100000"
upstream-keepalive-timeout: "7200"我还尝试将这些头添加到我的入口资源/规则中,用于该微服务。
nginx.ingress.kubernetes.io/client-body-timeout: "7200"
nginx.ingress.kubernetes.io/client-header-timeout: "7200"
nginx.ingress.kubernetes.io/client-max-body-size: 5000m
nginx.ingress.kubernetes.io/keep-alive: "300"
nginx.ingress.kubernetes.io/keepalive-timeout: "300"
nginx.ingress.kubernetes.io/large-client-header-buffers: 64 128k
nginx.ingress.kubernetes.io/proxy-body-size: 5000m
nginx.ingress.kubernetes.io/proxy-buffer-size: 16k
nginx.ingress.kubernetes.io/proxy-connect-timeout: "7200"
nginx.ingress.kubernetes.io/proxy-next-upstream-timeout: "7200"
nginx.ingress.kubernetes.io/proxy-read-timeout: "7200"
nginx.ingress.kubernetes.io/proxy-send-timeout: "7200"
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/send_timeout: "7200"Nginx入口控制器版本:
Release: v1.0.5
Build: 7ce96cbcf668f94a0d1ee0a674e96002948bff6f
Repository: https://github.com/kubernetes/ingress-nginx
nginx version: nginx/1.19.9我们使用Azure Kubernetes集群,核心dns正在从一个活动目录中重新分配所有api/url,该目录部署在Azure windows虚拟机中。
dotnet核心(sdk:6.0.400 and ASP.NET core Runtime 6.0.8)中的后端API (代码中定义的所有保持值和请求超时设置已经过测试)。
发布于 2022-09-26 12:13:59
发现问题了。也许我错过了一些东西,但似乎这些
proxy-read-timeout: "7200"
proxy-send-timeout: "7200"headers不影响后端GRPC通信的超时。我必须添加“服务器片段”来添加以下内容
grpc_read_timeout 120s; grpc_send_timeout 120s; client_body_timeout 120s;https://stackoverflow.com/questions/73766431
复制相似问题