grpc_connect_timeout

设置与 gRPC 后端服务器建立连接的超时时间。 — NGINX HTTP Core

grpc_connect_timeout
httpserverlocation
语法grpc_connect_timeout time;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1

说明

`grpc_connect_timeout` 指令指定用于与 gRPC 后端服务器建立连接的最大允许时间,单位为毫秒。此超时对于确保长时间或无响应的连接不会在很长时间内延迟客户端请求的处理非常重要。当在成功建立连接之前达到超时时间时,NGINX 将中止连接尝试并向客户端返回错误,从而使您的应用能够优雅地处理连接失败。 该指令可以放在 `http`、`server` 或 `location` 上下文中,允许管理员根据应用架构的具体要求定义连接超时。超时时间可以设置为任意正整数;如果设置为 0,则会完全禁用超时功能,但在对客户端响应性要求较高的生产环境中通常不推荐这样做。将 `grpc_connect_timeout` 最有效地用于在连接延迟与应用性能之间取得平衡,以便在后端服务无响应时快速重试或启用替代故障转移。

配置示例

http {
    server {
        location / {
            grpc_pass grpc://backend;
            grpc_connect_timeout 500ms;
        }
    }
}

将超时设置得过短可能导致频繁的“连接被过早中止”错误,影响用户体验。

禁用超时(设置为 0)在后端服务无响应时可能导致错误报告长时间延迟。