超时配置¶
本页介绍 Ingress Nginx 的全局超时配置和特定的 Ingress 资源可用的超时配置。
全局超时配置¶
可通过以下配置项进行 Ingress Nginx 的全局超时配置:
配置项 | 描述 | 默认值 |
---|---|---|
proxy-connect-timeout | 设置与代理服务器建立连接的超时。 | 默认 5s ,但通常不能超过 75s |
proxy-read-timeout | 设置从代理服务器读取响应的超时。该超时仅在两个连续的读取操作之间设置,而不是为整个响应的传输设置。 | 60s |
proxy-send-timeout | 设置向代理服务器传输请求的超时。该超时只在两个连续的写操作之间设置,而不是为整个请求的传输设置。 | 60s |
proxy-stream-next-upstream-timeout | 限制允许将连接传递到下一个服务器的时间。 | 默认为 600s ,设置为 0 值则关闭此限制。 |
proxy-stream-timeout | 设置客户端或代理服务器连接上两个连续的读或写操作之间的超时。如果在这个时间内没有传输数据,连接就会关闭 | 600s |
upstream-keepalive-timeout | 设置一个超时时间,在这个时间内,与上游服务器的空闲保持连接将保持开放。 | 60 |
worker-shutdown-timeout | 设置优雅停机的超时时间。 | 240s |
proxy-protocol-header-timeout | 设置接收代理协议头文件的超时值。默认的 5 秒可以防止 TLS 直通处理程序无限期地等待一个中断的连接。 | 5s |
ssl-session-timeout | 设置 SSL 会话缓存中的会话参数的有效时间。会话过期时间是相对于创建时间而言的。每个会话缓存会占用大约 0.25MB 空间。 | 10m |
client-body-timeout | 定义读取客户端请求正文的超时。 | 60s |
client-header-timeout | 定义读取客户端请求头的超时。 | 60s |
特定的资源自定义超时配置¶
以下是特定的资源自定义超时配置,以及相关的参数配置,例如重试次数等:
配置项 | 描述 |
---|---|
nginx.ingress.kubernetes.io/proxy-connect-timeout | 设置代理连接超时时间。 |
nginx.ingress.kubernetes.io/proxy-send-timeout | 设置代理发送超时时间。 |
nginx.ingress.kubernetes.io/proxy-read-timeout | 设置代理读取超时时间。 |
nginx.ingress.kubernetes.io/proxy-next-upstream | 配置重试策略或者重试条件,可以使用多个组合用空格分隔,例如设置为 http_500 http_502 ,支持下列策略:
|
nginx.ingress.kubernetes.io/proxy-next-upstream-tries | 如果满足重试条件时,可用的重试次数。 |
nginx.ingress.kubernetes.io/proxy-request-buffering | 是否启用请求缓冲功能。设置为on 启用请求缓冲,off 则禁用请求缓冲。如果启用了请求缓冲功能,则会在接收到完整的请求数据之后才将其转发到后端工作负载,否则可能会在接收到部分请求数据时就开始转发请求。HTTP/1.1 Chunked 编码的请求不受此参数限制,始终会进行缓冲。如果禁用了,发送过程中出现发送错误,就不会选择下一个工作负载重试。 |