nginx做tcp代理时的超时时间参数设置和解释

news/2025/11/14 15:51:48/文章来源:https://www.cnblogs.com/pingguomang/p/19222365

如果你是在配置HTTP代理,可能会更常用到proxy_read_timeoutproxy_send_timeout。而proxy_timeout在TCP/UDP代理中更常见。

总结

  • proxy_connect_timeout:控制连接建立阶段的超时;

  • proxy_timeout:主要用于stream模块,控制连接空闲超时;

  • 对于HTTP代理,还需要配合使用proxy_read_timeoutproxy_send_timeout

合理配置这些参数可以显著提高系统的稳定性和用户体验。

 

配置目录文件是:nginx.conf文件

image

 

示例配置(HTTP代理):(写在http里面)

location / {proxy_pass http://backend;
    proxy_connect_timeout 5s;proxy_read_timeout 30s;proxy_send_timeout 30s;
}

示例配置(TCP/UDP代理): (写在http外面)

stream {server {listen 12345;proxy_pass backend;proxy_connect_timeout 5s;proxy_timeout 30s;}
}

这两个是Nginx反向代理中非常重要的超时

1. proxy_connect_timeout

定义

Nginx与上游服务器建立TCP连接的超时时间

详细解释

  • 作用范围:仅针对建立TCP三次握手的过程

  • 默认值:通常60秒

  • 触发条件:当Nginx尝试与后端服务器建立连接时开始计时

  • 超时后果:返回502 Bad Gateway错误

使用场景示例

控制参数,我来详细解释:

 
location /api/ {proxy_pass http://backend_server;
    proxy_connect_timeout 5s;  # 5秒内必须建立连接# 如果后端服务器5秒内没有响应TCP SYN-ACK,则放弃连接
}

典型配置值

# 常规Web应用
proxy_connect_timeout 3s;# 高延迟网络环境
proxy_connect_timeout 10s;# 内网低延迟环境
proxy_connect_timeout 1s;

2. proxy_timeout

定义

Nginx与上游服务器之间连接的最大空闲时间

详细解释

  • 作用范围:TCP/UDP代理连接(主要在stream模块中使用)

  • 默认值:10分钟

  • 触发条件连接建立后,在指定时间内没有数据传输

  • 超时后果:自动关闭连接

使用场景

stream {upstream backend {server 192.168.1.10:3306;}server {listen 3307;proxy_pass backend;proxy_timeout 1h;  # 1小时内无数据传输则关闭连接# 适用于数据库代理、长连接等场景}
}

3. 相关的重要超时参数

proxy_read_timeout

从上游服务器读取响应的超时时间

location / {proxy_pass http://backend;
    proxy_read_timeout 30s;  # 等待后端响应数据的超时时间# 适用于处理耗时操作的上游服务
}

proxy_send_timeout

向上游服务器发送请求的超时时间

location /upload/ {proxy_pass http://backend;
    proxy_send_timeout 60s;  # 发送请求到后端的超时时间# 适用于大文件上传等场景
}

4. 完整配置示例

HTTP代理配置

upstream backend_servers {server 10.0.1.10:8080;server 10.0.1.11:8080;
}server {listen 80;server_name example.com;location / {proxy_pass http://backend_servers;
        # 连接相关超时proxy_connect_timeout 3s;     # 3秒建立连接proxy_read_timeout 30s;       # 30秒读取响应proxy_send_timeout 30s;       # 30秒发送请求# 其他代理设置proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 重试机制proxy_next_upstream error timeout invalid_header;proxy_next_upstream_tries 2;}location /long-task/ {proxy_pass http://backend_servers;
        proxy_connect_timeout 5s;proxy_read_timeout 300s;      # 长任务需要更长的读取超时proxy_send_timeout 300s;}
}

 

TCP/UDP代理配置(Stream模块)


stream {
# 数据库代理
upstream mysql_backend {
server 10.0.2.10:3306;
}

server {
listen 3306;
proxy_pass mysql_backend;
proxy_connect_timeout 5s;
proxy_timeout 3600s; # 1小时无活动则关闭
proxy_responses 1;
}

# Redis代理
upstream redis_backend {
server 10.0.2.20:6379;
}

server {
listen 6379;
proxy_pass redis_backend;
proxy_connect_timeout 2s;
proxy_timeout 1800s; # 30分钟无活动则关闭
}
}

 

5. 故障排查和优化建议

常见问题诊断

# 在http块中添加日志格式,记录超时信息
log_format timed_combined '$remote_addr - $remote_user [$time_local] ''"$request" $status $body_bytes_sent ''"$http_referer" "$http_user_agent" ''rt=$request_time uct="$upstream_connect_time" ''urt="$upstream_response_time"';access_log /var/log/nginx/access.log timed_combined;

优化建议

  1. 根据业务特点设置:

    • API服务:较短的超时(3-10秒)

    • 文件处理:较长的超时(30-300秒)

    • 实时通信:很长的超时或禁用超时

  2. 监控指标:

  3. # 查看超时相关的错误统计
    grep -c "502 Bad Gateway" /var/log/nginx/access.log
    grep "upstream timed out" /var/log/nginx/error.log

    3.健康检查配合:

  4. upstream backend {server 10.0.1.10:8080 max_fails=3 fail_timeout=30s;server 10.0.1.11:8080 max_fails=3 fail_timeout=30s;
    }

     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/965478.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【往届会后三个月完成EI检索 | IEEE出版】第二届智能机器人与自动控制国际学术会议(IRAC 2025)

【往届会后三个月完成EI检索 | IEEE出版】第二届智能机器人与自动控制国际学术会议(IRAC 2025)第二届智能机器人与自动控制国际学术会议(IRAC 2025) 2025年11月28-30日,中国-湖南省-湘西土家苗族自治州吉首市 截稿…

精准把控VBAT,轻松规避电源设计99%陷阱

电源设计是一个细致而复杂的过程,其中VBAT的精准把控尤为关键。若处理不当,极易陷入各种陷阱。本文将指导您如何精准把控VBAT,从而轻松规避电源设计中高达99%的常见陷阱,让您的设计更加出色。 在物联网开发中,稳定…

RAID(磁盘阵列)技术介绍

RAID(磁盘阵列)技术介绍介绍RAID 使用的技术、类型、重建方式RAID(磁盘阵列)关键技术数据分条技术:把数据分块,分散存放到多个磁盘上,提高读写并行度数据镜像技术:把同一份数据写到多个磁盘,某个盘坏了还能用…

2025年金属保温装饰板最新标杆企业推荐:铝板保温装饰一体板/外墙保温装饰板/金属保温装饰板/浙江欣阳嘉茂控股集团有限公司

随着建筑节能标准持续提升、绿色建筑政策深入推进,以及城市更新与既有建筑外立面改造需求快速增长,保温装饰一体板作为兼具节能、美观与安全性能的新型外墙材料,正加速成为建筑围护系统的重要选择。然而,当前市场产…

Sora2、Nano Banana AI批量生图视频实战,API低价调用和免费批量生成教程

经过这几年Ai模型迭代升级,越来越多好用的模型出现,让电商人和自媒体的人的工作方便多了许多。以前找个美工折腾半天的产品图、文案配图,现在输入几句话就能生成,质量和速度都远超预期。不过实际用起来就会发现,A…

7 款最佳自托管 AI 工具,快速构建业务应用

7 款值得关注的自托管 AI 工具,助你在安全可控的环境中快速搭建具备智能能力的业务系统。原文链接:https://www.nocobase.com/cn/blog/7-self-hosted-ai-tools-build-business-app 过去一年,我们一直在持续关注自托…

2025年果胶裂解酶批发厂家权威推荐榜单:果胶甲酯酶/果胶酶纤维素酶/果胶酶源头厂家精选

在生物制造与食品工业绿色转型的浪潮下,酶制剂作为高效的生物催化剂,其市场需求持续增长。据行业报告显示,全球工业酶制剂市场规模预计将在2025年达到新高度,其中果胶酶类产品因在果汁澄清、植物提取等领域的广泛应…

carl部分书单

carl部分书单货币战争 伟大的博弈 贸易打造的世界 经济学的思维方式 carl 可能的mbti istj or infj

高精度机器人控制的核心——基于 MYD-LT536 开发板的精密运动控制方案

一、背景:机器人迈向“微米级控制时代”随着智能制造和自动化产业的持续升级,工业机器人不再仅仅承担重复搬运,而是被要求在装配、检测、精密加工等高精度场景中完成微米级控制任务。在这些“高精度机器人控制”应用…

鸿蒙应用开发实战:集成农历功能

如何在HarmonyOS应用中实现精准的农历日期计算与显示引言 在现代生活中,农历日期对于许多传统节日、生日纪念具有重要意义。然而,在移动应用开发中,农历功能的集成往往面临算法复杂、数据处理困难等挑战。本文将分享…

解决Linux 下 root用户删除文件提示:Operation not permitted

问题描述用最高权限rm文件,居然报错Operation not permitted。查看权限也没有问题。可想而知有可能文件被保护了。用命令lsattr检查一下就知道。[root@linux root]# lsattr a.txt  ---i---------- a.txt带属性“ i …

2025 最新波纹管厂家推荐榜:隧道 / 双壁 / 打孔 / 防结晶波纹管优质厂家权威甄选双壁波纹管/打孔波纹管/隧道打孔波纹管公司推荐

引言 在全球基础设施建设提质升级的浪潮中,波纹管作为管网系统核心构件,其品质直接决定工程寿命与安全。据国际管道协会(IPA)最新测评数据,市场上仅 32% 的波纹管产品能同时满足环刚度≥SN8、耐腐蚀性达标、使用寿…

百思沐成品卫生间生产厂家,百思沐集成淋浴房生产厂家、 百思沐整体厨房公司排行、装配式厨房工厂排名 、快装式墙板工厂十大推荐榜--南京正标环保科技

百思沐成品卫生间生产厂家,百思沐集成淋浴房生产厂家、 百思沐整体厨房公司排行、装配式厨房工厂排名 、快装式墙板工厂十大推荐榜--南京正标环保科技百思沐成品卫生间生产厂家,百思沐集成淋浴房生产厂家、 百思沐整…

洛谷题单指南-组合数学与计数-P5664 [CSP-S 2019] Emiya 家今天的饭

原题链接:https://www.luogu.com.cn/problem/P5664 题意解读: Emiya 掌握 n 种烹饪方法和 m 种主要食材,用第 i 种烹饪方法和第 j 种食材可做 a[i][j] 道不同的菜。需选择若干道菜(至少 1 道),满足以下要求:每道…

详细介绍:Endnote | word中加载项消失不见,如何处理?

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

0广告投入!一个月访问暴涨200%,复盘我的AI API站做的几波“骚操作”

我的出海经历我从去年底就有出海的打算,为啥?因为入不敷出,没钱了!在出海之前我一直在做小程序产品,但是自从kimi,deepseek,豆包这些免费的Ai大模型上线后,我们这种依靠会员费的小型Ai公司就做不下去了,太卷了…

2025年富氢水素机加盟生产厂家权威推荐榜单:家用富氢水机加盟/富氢水机加盟/智能富氢水机加盟源头厂家精选

在健康意识不断提升的背景下,富氢水素机市场正迎来快速增长。据行业报告显示,2031年全球氢水机市场销售额预计将达到83.5亿元,2025-2031年期间年复合增长率为5.4%。这一数据揭示了健康饮水领域的巨大潜力。 对意向加…

2025集成卫生间厂家排行、一体式卫生间公司推荐、装配式卫生间工厂、 成品卫生间生产厂家推荐、 整体淋浴房品牌排名、装配式淋浴房生产厂家品牌十大推荐榜-南京正标环保科技

2025集成卫生间厂家排行、一体式卫生间公司推荐、装配式卫生间工厂、 成品卫生间生产厂家推荐、 整体淋浴房品牌排名、装配式淋浴房生产厂家品牌十大推荐榜-南京正标环保科技2025集成卫生间厂家排行、一体式卫生间公司…

实用指南:逻辑回归实战:泰坦尼克号生存预测

实用指南:逻辑回归实战:泰坦尼克号生存预测2025-11-14 15:31 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: b…

Nessus 10.8.5 在 Ubuntu 22.04 下的完整配置指南(含激活与突破 16IP 扫描限制)

Nessus 10.8.5 在 Ubuntu 22.04 下的完整配置指南(含激活与突破 16IP 扫描限制)本文详细介绍了 Nessus 10.8.5 在 Ubuntu 22.04 系统下的完整配置流程,涵盖从安装到突破限制的全步骤。首先需上传安装包并通过dpkg命…