Nginx HTTP2闲置数秒后浏览器新建连接问题求助
Nginx HTTP2 长连接保持配置方案
核心配置指令
HTTP2 协议在 Nginx 中通过 http2_idle_timeout 指令控制空闲连接的保持时长,这就是你要找的 HTTP1.1 keepalive_timeout 的等效配置。默认情况下该值通常为30秒,只需将其调整为60秒即可满足“至少保持1分钟连接”的需求。
具体配置步骤
- 打开你的 Nginx 配置文件(全局配置
/etc/nginx/nginx.conf或站点专属配置文件,比如/etc/nginx/conf.d/your-api.conf) - 在
http块、server块或location块中添加以下配置:# 设置HTTP2空闲连接保持1分钟 http2_idle_timeout 60s; # 提升单个连接可处理的最大请求数,避免因请求量达标提前断开 keepalive_requests 1000; # 配置SSL会话缓存,优化重连时的握手速度(可选但推荐) ssl_session_timeout 1d; ssl_session_cache shared:SSL:10m; - 验证配置合法性:
nginx -t - 生效配置:
nginx -s reload
补充说明
http2_idle_timeout定义的是服务器端在连接空闲状态下等待新请求的最长时间,超过该时间服务器会主动断开连接。- 部分浏览器自身也会有连接超时策略,但服务器端设置足够长的超时时间是确保长连接生效的基础。
keepalive_requests控制单个连接可处理的请求总数,调大该值可以减少因请求数耗尽导致的连接重建。
内容的提问来源于stack exchange,提问作者user28906
相关产品推荐
相关产品推荐

