0

0

nginx配置超时时间_nginx连接与请求超时参数优化配置

月夜之吻

月夜之吻

发布时间:2026-01-04 23:41:02

|

1072人浏览过

|

来源于php中文网

原创

client_header_timeout 和 client_body_timeout 应按业务场景设置:普通页面设10s,文件上传系统设30s和300s,移动端接口统一设60s;proxy_read_timeout需基于后端p95响应时间加20%余量,proxy_send_timeout设60s即可;keepalive_timeout和keepalive_requests应区分静态与动态服务优化,且前者仅支持http/server级配置。

nginx配置超时时间_nginx连接与请求超时参数优化配置

client_header_timeout 和 client_body_timeout 怎么设才不丢请求

这两个参数控制 Nginx 等待客户端发送 HTTP 请求头和请求体的最长时间。设得太短,用户在弱网或大文件上传时容易触发 408 Request Timeout;设得太长,又可能让慢速攻击(如 Slowloris)长期占用 worker 进程。

推荐值取决于业务场景:

  • 普通 Web 页面(HTML/CSS/JS):client_header_timeout 10sclient_body_timeout 10s
  • 含文件上传的后台系统(如 CMS、表单提交):client_header_timeout 30sclient_body_timeout 300s(5 分钟足够传百 MB 文件)
  • 移动端 App 接口(网络波动大):建议统一设为 60s,避免因 TLS 握手延迟或中间代理重传导致 header 超时

注意:client_body_timeout 不影响已开始传输的 body,只限制两次 TCP 包之间的空闲时间。如果客户端断续发送数据,每次间隔不能超过该值。

proxy_read_timeout 和 proxy_send_timeout 影响后端交互稳定性

这两个是反向代理场景下的关键超时项,直接影响 Nginx 与 upstream(如 Python Flask、Java Spring Boot)之间通信是否“假死”。

proxy_read_timeout 是 Nginx 从 upstream 读响应的超时(比如后端生成报表要 2 分钟),proxy_send_timeout 是 Nginx 向 upstream 发送请求的超时(极少触发,除非 upstream 拒绝接收)。

常见误配:

  • proxy_read_timeout 设成 60,但后端接口实际耗时 90s → Nginx 中断连接,返回 504 Gateway Time-out
  • 没配 proxy_send_timeout,上游服务偶发卡住写 socket → Nginx 无限等待,worker 连接被占满

实操建议:

  • 先用 curl -w "@format.txt" -o /dev/null -s http://your-api 测真实后端 P95 响应时间,再加 20% 安全余量作为 proxy_read_timeout
  • proxy_send_timeout 设为 60 即可,比 proxy_read_timeout 小或相等都合理,不必更大
  • 若 upstream 支持流式响应(如 SSE、长轮询),proxy_read_timeout 必须设得足够大(例如 3600),并配合 proxy_buffering off

keepalive_timeout 和 keepalive_requests 容易被忽略的资源泄漏点

这两个参数管的是 HTTP/1.1 长连接生命周期,不是“连接多久没数据就关”,而是“连接空闲多久关”+“一条连接最多处理几个请求”。设错会导致 TIME_WAIT 暴增或连接复用率低。

聚彩手机网店系统 免费版
聚彩手机网店系统 免费版

聚彩手机商城系统,是一款专业于手机销售的独立手机网店系统,他拥有众多的手机参数选项,以及傻瓜式的设置选项,让您可以在5分钟内建立起专业而强大的手机销售网站。他拥有多套模版可以实时切换,前台拥有新闻中心、手机中心、配件中心、软件下载、手机报价、发货查询、保修查询、分店查询、产品的对比功能,代理与加盟的申请等功能,他拥有完善的会员中心,会员等级设置等,集成在线支付接口,超强SEO,可以设置所有页面的t

下载

典型问题:

  • keepalive_timeout 75(默认值)太长,客户端浏览器关了页面但连接还挂着,Nginx worker 无法释放 fd
  • keepalive_requests 100(默认)太小,高并发下频繁建连,TLS 握手开销大、TCP SYN 飙升

优化方向:

  • 静态资源服务(CDN、图片站):keepalive_timeout 15 + keepalive_requests 1000
  • 动态 API 服务(前后端分离):keepalive_timeout 5 + keepalive_requests 100(短连接更稳妥)
  • 若启用了 HTTP/2,keepalive_timeout 实际无效(HTTP/2 自带连接管理),但 keepalive_requests 仍生效,建议设为 1000

验证方式:用 ss -tan state established | grep :443 | wc -l 对比调参前后连接数变化。

timeout 相关指令必须放在 location 还是 server 块里

绝大多数 timeout 指令(client_header_timeoutproxy_read_timeout 等)支持在 httpserverlocation 三个作用域使用,但行为不同:

  • http 块设,是全局默认值,会被下级覆盖
  • server 块设,仅对本虚拟主机生效
  • location 块设,只对该路径生效 —— 这是最常用也最安全的方式,比如给 /api/upload 单独加大 client_body_timeout

特别注意:keepalive_timeoutlocation 块中设置无效,Nginx 会直接忽略,只能在 httpserver 级配置。

一个典型的安全配置片段:

location /api/ {
    proxy_pass http://backend;
    proxy_read_timeout 300;
    client_body_timeout 300;
}
<p>location /static/ {
alias /var/www/static/;
expires 1h;</p><h1>这里不需要 proxy_* 参数</h1><p>}

超时参数不是越长越好,也不是越短越安全。真正难的是结合监控(如 Nginx stub_status、upstream 状态码分布)和真实流量特征做动态校准 —— 很多线上问题,其实是某次发布后 upstream 响应变慢,但 proxy_read_timeout 没同步调整导致的。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
spring框架介绍
spring框架介绍

本专题整合了spring框架相关内容,想了解更多详细内容,请阅读专题下面的文章。

150

2025.08.06

Java Spring Security 与认证授权
Java Spring Security 与认证授权

本专题系统讲解 Java Spring Security 框架在认证与授权中的应用,涵盖用户身份验证、权限控制、JWT与OAuth2实现、跨站请求伪造(CSRF)防护、会话管理与安全漏洞防范。通过实际项目案例,帮助学习者掌握如何 使用 Spring Security 实现高安全性认证与授权机制,提升 Web 应用的安全性与用户数据保护。

88

2026.01.26

nginx 重启
nginx 重启

nginx重启对于网站的运维来说是非常重要的,根据不同的需求,可以选择简单重启、平滑重启或定时重启等方式。本专题为大家提供nginx重启的相关的文章、下载、课程内容,供大家免费下载体验。

245

2023.07.27

nginx 配置详解
nginx 配置详解

Nginx的配置是指设置和调整Nginx服务器的行为和功能的过程。通过配置文件,可以定义虚拟主机、HTTP请求处理、反向代理、缓存和负载均衡等功能。Nginx的配置语法简洁而强大,允许管理员根据自己的需要进行灵活的调整。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

520

2023.08.04

nginx配置详解
nginx配置详解

NGINX与其他服务类似,因为它具有以特定格式编写的基于文本的配置文件。本专题为大家提供nginx配置相关的文章,大家可以免费学习。

588

2023.08.04

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

244

2024.02.23

nginx报404怎么解决
nginx报404怎么解决

当访问 nginx 网页服务器时遇到 404 错误,表明服务器无法找到请求资源,可以通过以下步骤解决:1. 检查文件是否存在且路径正确;2. 检查文件权限并更改为 644 或 755;3. 检查 nginx 配置,确保根目录设置正确、没有冲突配置等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

630

2024.07.09

Nginx报404错误解决方法
Nginx报404错误解决方法

解决方法:只需要加上这段配置:try_files $uri $uri/ /index.html;即可。想了解更多Nginx的相关内容,可以阅读本专题下面的文章。

3613

2024.08.07

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

4

2026.03.04

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.9万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.5万人学习

CSS教程
CSS教程

共754课时 | 39.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号