最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Nginx 主配置文件中如何配置连接超时自动断开的全局参数
时间:2026-09-01 13:59:47 编辑:袖梨 来源:一聚教程网
Nginx控制客户端连接超时的核心参数是keepalive_timeout、client_header_timeout、client_body_timeout和send_timeout;前者管理长连接空闲超时,后三者分别限制请求头/体接收及响应发送的停顿超时,均建议在http块中配置并reload生效。
Nginx 主配置文件(通常为 /etc/nginx/nginx.conf)中,控制客户端连接超时自动断开的核心全局参数是 keepalive_timeout 和 client_header_timeout、client_body_timeout。它们作用不同,需配合设置才能有效管理空闲连接和请求阶段的超时行为。
keepalive_timeout:控制长连接空闲超时
该指令定义客户端与 Nginx 建立的 keep-alive 连接在无活动时的最大等待时间。超过此时间,Nginx 会主动关闭 TCP 连接。
- 语法:
keepalive_timeout timeout [header_timeout]; - 默认值:
keepalive_timeout 75s; - 推荐设置(平衡性能与资源):
keepalive_timeout 30s; - 若设为
0,则禁用 keep-alive,每次请求后立即断开
client_header_timeout 和 client_body_timeout:应对慢请求攻击
这两个参数不控制“连接空闲”,而是限制客户端发送请求头或请求体的耗时。若客户端迟迟不发完,Nginx 将直接关闭连接,防止资源被长期占用。
-
client_header_timeout 10s;:等待完整 HTTP 请求头的最长时间 -
client_body_timeout 10s;:接收请求体(如上传内容)的单次读取超时(非总时长),连续超时多次即断开 - 建议值一般为 5–15 秒;生产环境不建议设过高,尤其面对公网时
补充:send_timeout 控制响应下发超时
当 Nginx 向客户端发送响应时,若两次写操作间隔超过 send_timeout,连接会被关闭。适用于大文件传输或网络不稳定场景。
- 语法:
send_timeout 25s; - 默认值:
60s,可适当调低至25s或30s - 注意:它只影响已开始发送后的“停顿”,不控制整个响应耗时
配置位置与生效范围
上述指令应放在 http{...} 块内(全局生效),也可在 server{...} 或 location{...} 中覆盖。例如:
http {keepalive_timeout 30s;client_header_timeout 10s;client_body_timeout 10s;send_timeout 25s;server {listen 80;server_name example.com;# 此处可单独覆盖:keepalive_timeout 15s;}}
修改后需执行 nginx -t 检查语法,再 systemctl reload nginx 生效。
相关文章
- 王牌竞速红色轮毂怎么获得 红色轮毂获取做法 09-01
- 《万物皆可蟹:动物进化》蛮力成就解锁指南 09-01
- MongoDB数据库与集合删除操作做法完整指南 09-01
- 王牌竞速变形乱斗是什么 变形乱斗玩法说明 09-01
- 《王牌竞速》玄夜鎏金时装外观说明 时装玄夜鎏金好看吗 09-01
- 《王牌竞速》中秋旅拍午夜霓虹位置分享 中秋赏月旅拍攻略 09-01