【nginx】client timed out和send_timeout的大小设置

websocket连接会断开,抓包检查后发现是中间的代理服务器nginx断开的,同时将后端和浏览器都断开了。将nginx日志调到debug级别后,有下面的断开信息。

[info] 125923#125923: *34 client timed out (110: Connection timed out) while proxying upgraded connection, client: 127.0.0.1, server: , request: 

检查nginx.conf的配置,proxy_send_timeout和proxy_read_timeout都设置得非常大,而且抓包也没有长时间没有流量。网上找不到和分析上面的报错,自己动手分析。由于我们的错误是在测试环境稳定复现的,有很好的分析条件。

首先,将nginx日志调到debug级别后,日志能看到的是info,没有真正开启debug。找了下要用带debug编译的nginx才可以。折腾了一会系统方面的配置得到真正的debug日志。

接下来是日志分析。在info日志前有10000的timer(下图是5000的示意)。然后就在nginx的conf文件里面找和10相关的配置,找到了一个send_timeout 10;。高度相关。
在这里插入图片描述
最后,我们修改这个参数的大小验证和日志的关联性。修改为5,日志就是上图打印的样子。修改为15则等了一两小时没有断开。可见 client timed out和send_timeout的大小设置有关系。

网上关于send_timeout的解释没法准确的理解,试图通过抓包给出准确的解释,无奈发现nginx和浏览器,以及nginx和后端最后通信间隔都是一样的,没有给出准确的解释。
多了点耐心做详尽的分析,抓包下来看到的现象是这样的,nginx最后转发给后端服务的时间间隔了5s,然后nginx首先断开也是和后端的连接,猜测是nginx给后端发数据间隔了5s导致。但本质上为什么nginx会间隔5s才给后端发包,因为浏览器的包到nginx先间隔了5s,然后nginx转发的时候就差了5s。结论是上行请求方向的数据差了5s导致的。

进一步测试,配置改成7s出现到后端的连接断开8s后才断开到浏览器的连接,显然线索已经很清晰,这次的断开是因为nginx在7s内没有给后端发消息,nginx主动断开。

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

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

相关文章

什么是RAG? LangChain的RAG实践!

1. 什么是RAG RAG的概念最先在2020年由Facebook的研究人员在论文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》中提出来。在这篇论文中他们提出了两种记忆类型: 基于预训练模型(当时LLM的概念不像现在这么如日中天&#xff0…

A027-基于Spring Boot的农事管理系统

🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 赠送计算机毕业设计600…

13. 基于yolov8苹果叶片病害识别系统(含UI界、Python代码、训练好的模型、数据集)

项目介绍 项目中所用到的算法模型和数据集等信息如下: 算法模型:     yolov8、yolov8 SE注意力机制 或 yolov5、yolov5 SE注意力机制 , 直接提供最少两个训练好的模型。模型十分重要,因为有些同学的电脑没有 GPU&#xff0…

新的服务器Centos7.6 安装基础的环境配置(新服务器可直接粘贴使用配置)

常见的基础服务器配置之Centos命令 正常来说都是安装一个docker基本上很多问题都可以解决了,我基本上都是通过docker去管理一些容器如:mysql、redis、mongoDB等之类的镜像,还有一些中间件如kafka。下面就安装一个 docker 和 nginx 的相关配置…

Three.js性能优化和实践建议

Three.js 是一个功能强大的 3D 引擎,当场景足够大的时候,就会出现卡顿的现象,首先要保证电脑的性能够用,然后看看下面方法,帮助你提高应用的运行效率。 1. 使用 stats.js 监视性能 在进行任何优化之前,首…

ima.copilot-腾讯智能工作台

一、产品描述 ima.copilot是腾讯推出的基于腾讯混元大模型技术的智能工作台,通过先进的人工智能技术,为用户提供了一个全新的搜读写体验,让知识管理变得更加智能和高效。它不仅是一个工具,更是一个智能的伙伴,能够帮助…

Jdbc学习笔记(二)核心API--ResultSet

ResultSet之滚动结果集 ResultSet默认只能往下移 ResultSet表示结果集,它是一个二维的表格!ResultSet内部维护一个行光标(游标),ResultSet提供了一系列的方法来移动游标: void beforeFirst():…

【服务器】本地安装X11 服务器-Windows

【服务器】本地安装X11 服务器-Windows X11 服务器概述X Window System 简介 本地安装X11 服务器另:采用 MobaXterm (自带 X server) 连接远程服务器简单说明流程: 参考 X11 服务器概述 X11 服务器 是 X Window System(简称 X11 或 X&#x…

【机器学习】机器学习中用到的高等数学知识-3.微积分 (Calculus)

3. 微积分 (Calculus) 导数和梯度:用于优化算法(如梯度下降)中计算损失函数的最小值。偏导数:在多变量函数中优化目标函数。链式法则:在反向传播算法中用于计算神经网络的梯度。 导数和梯度:用于优化算法…

[Import REC] Import REC下载及使用Import REC重建引入表Import table详细过程(附有下载文件)

前言 下载 使用夸克网盘打开链接,给出的是绿化版免安装 Import REC 链接:https://pan.quark.cn/s/552e4c1ea7d6 提取码:qEMM 下载之后解压得到 里面有使用更新说明 使用修复import table 演示 现在有一个程序,放入PEiD进行查壳…

MySQL技巧之跨服务器数据查询:高级篇-先调用A数据库的MySql存储过程再复制到B数据库的表中

MySQL技巧之跨服务器数据查询:高级篇-先调用A数据库的MySql存储过程再复制到B数据库的表中 基础篇已经描述:借用微软的SQL Server ODBC 即可实现MySQL跨服务器间的数据查询。 而且还介绍了如何获得一个在MS SQL Server 可以连接指定实例的MySQL数据库的…

AI制作表情包,每月躺赚1W+,完整流程制作多重变现教学

项目介绍 AI制作表情包项目是一个利用ai,快速生成表情包的副业项目。 在社交平台如微信、QQ等,表情包已成为日常沟通不可或缺的一部分。通过AI技术,我们可以轻松制作出大量表情包,并通过多种渠道实现变现,非常适合追…

excel使用

上中下旬的逾期金额 步骤: 1、先判断上中下旬的时间范围 2、根据城市和时间求和,算出对应的逾期金额 问题:当从左插入列时,列的格式与原本一致,当我们想看数值时,发现为日期 解决:在开始-数据格…

MySQL算数运算符基础:详解与入门

目录 背景: 过程: 1.加法与减法运算符 1.2扩展: 1.3运算结果得出结论 : 2.乘法和除法运算 ​2.1练习: 2.2运算结果得出结论 : 3.求模取余运算符 3.1练习: 总结: 背景&a…

2024年AI办公工具API:高效办公的智能选择

在2024年,AI技术已经深入到我们工作生活的方方面面,极大地提高了办公效率和质量。这些工具通过集成先进的算法和模型,使得日常任务自动化、数据分析智能化、内容创作高效化。以下是2024年最受欢迎的AI办公工具API,它们正在重新定义…

力扣 LeetCode 142. 环形链表II(Day2:链表)

解题思路&#xff1a; 使用set判断是否重复添加&#xff0c;如果set加入不进去证明之前到达过该节点&#xff0c;有环 public class Solution {public ListNode detectCycle(ListNode head) {Set<ListNode> set new HashSet<>();ListNode cur head;while (cur …

基于Spring Boot的电子商务系统设计

5 系统实现 系统实现部分就是将系统分析&#xff0c;系统设计部分的内容通过编码进行功能实现&#xff0c;以一个实际应用系统的形式展示系统分析与系统设计的结果。前面提到的系统分析&#xff0c;系统设计最主要还是进行功能&#xff0c;系统操作逻辑的设计&#xff0c;也包括…

使用 Vue 配合豆包MarsCode 实现“小恐龙酷跑“小游戏

作者&#xff1a;BLACK595 “小恐龙酷跑”&#xff0c;它是一款有趣的离线游戏&#xff0c;是Google给Chrome浏览器加的一个有趣的彩蛋。当我们浏览器断网时一只像素小恐龙便会出来提示断网。许多人认为这只是一个可爱的小图标&#xff0c; 但当我们按下空格后&#xff0c;小恐…

Attention is all you need详细解读

transformer目的是解决NLP中使用RNN不能并行计算问题。 Encoder-Decoder, Attention, Transformer 三者关系 1.基础储备 &#xff08;1&#xff09;CV基础知识 1.首先拿CV中的分类任务来说&#xff0c;训练前我们会有以下几个常见步骤&#xff1a; 2.获取图片 3.定义待分类的类…

面向对象的需求分析和设计(一)

[toc] 1. 引言 前一篇文章《我对需求分析的理解》提到了面向对象分析和设计&#xff0c;正好最近又重新有重点的读了谭云杰著的《Think in UML》&#xff0c;感觉有必要写把书中一些核心内容观点以及自己的想法整理出来&#xff0c;一是方便自己日后的复习&#xff0c;另外也…