nginx缓冲区关闭导致下载失败问题-方案篇

news2024/9/30 19:28:30

问题描述

导出操作。小于200k的excel正常下载,大于200K的下载失败,异常信息如下:

Cannot forward to error page for request [/xx/xx] as the response has
already been committed. As a result,the response may have the wrong
status code. If your application is running on WebSphere Application
Server you may beable to resolve this problem by setting
com.ibm.ws.webcontainer.invokeFlushAfterService to false"

问题解析

“Connection reset by peer”表示当前服务器接受到了通信对端发送的TCP RST信号,即通信对端已经关闭了连接,通过RST信号希望接收方关闭连接。
很明显主动触发了关闭连接。可能造成这个问题的因素:
1.关联服务出现错误或者崩溃。
2.excel文件较大,读取超时。
3.关联服务长时间未返回,比如数据查询时间过长,但设置了超时时间,超过规定时间关闭连接。

使用生产的dist和war,模拟无法复现。导出excel文件增加到了10M(100000多条)也无法复现。代码正常没有问题。
所以可能改造成下载失败的问题在nginx的限制。

问题原因

在这里插入图片描述

nginx 缓冲区设置关闭了。缓存过多会导致下载连接中断。

解决办法

proxy_buffering on 开启缓冲区配置。

缓冲区机制

proxy_buffering
默认缓冲区是开启的。
当缓冲区开启时,nginx会被代理的后端服务器会以最快速度响应,并把内容保存在由指令 proxy_buffer_size 和 proxy_buffers指定的缓冲区里边.如果响应内容无法放在内存里边,那么部分内容会被写到磁盘上。
当缓冲区被关闭了,那么响应内容会按照获取的全部内容,不管这个内容的大小有多少,都会立刻同步发送到客户端。缓冲区关闭状态下的nginx不去计算代理服务器整个响应内容的大小,nginx能从服务器接受的最大数据,是由指令 proxy_buffer_size指定的.
如果是经常轮询(long-polling)的Comet应用来说,关闭proxy_buffering是必要的,不然异步响应将被缓存导致Comet中断。

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

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

相关文章

程序员工作久了,都不会好好说人话了...互联网人的....黑话

原来工作也是会被腌入味的 前段时间有位博主吐槽 工作太久都不会说人话了 这张口的互联网味儿 瞬间梦回自己的工位 而评论区的网友们表示 这不就是”世另我“吗 一场关于互联网黑话的"掰头" 就此开始了... 维护厨房 (厨房秒变公司) 新…

Bagging算法预测银行客户流失率

Bagging算法预测银行客户流失率 描述 为了防止银行的客户流失,通过数据分析,识别并可视化哪些因素导致了客户流失,并通过建立一个预测模型,识别客户是否会流失,流失的概率有多大。以便银行的客户服务部门更加有针对性…

【CSS】使用 CSS 实现三角形 ( 宽高设置为 0 | 设置四个边框宽度 / 样式 / 颜色值 | 兼容低版本浏览器 | 基本示例 | 对话框示例 )

文章目录一、使用 CSS 实现三角形二、使用 CSS 实现三角形代码示例三、使用 CSS 实现 对话框 代码示例一、使用 CSS 实现三角形 使用 CSS 实现三角形步骤 : 首先 , 宽度 / 高度 设置为 0 ; /* 宽高设置为 0 像素 */width: 0;height: 0;然后 , 设置 4 个边框 , 每个边框都要设置…

【软考备战·希赛网每日一练】2023年4月14日

文章目录一、今日成绩二、错题总结第一题第二题第三题第四题三、知识查缺题目及解析来源:2023年04月14日软件设计师每日一练 一、今日成绩 二、错题总结 第一题 解析: 具有 最优子结构 特点的问题可以使用 动态规划法 进行求解。计算m数组中每项的值&am…

日撸 Java 三百行day28-30

文章目录说明day28-30 Huffman 编码 (节点定义与文件读取)1.建树过程(以图为例)2.哈夫曼树特点3.分析代码过程3.1 抽象成员变量3.2结合文章梳理思路1.读文本2.解析文本内容:3.建树4.生成哈夫曼编码5.编码6.解码4.其他4.1 java 类型强转4.2 ja…

网络安全相关的知识

一、 什么是IDS? IDS是英文"Intrusion Detection Systems"的缩写,中文意思是"入侵检测系统"。专业上讲就是依照一定的安全策略,通过软、硬件,对网络、系统的运行状况进行监视,尽可能发现各种攻击…

TexMaker(Latex编辑器)软件的“文献引用”操作:Xelatex方式运行的操作方法

一、说明 1. 针对问题 本文主要讲解使用TexMaker进行**.bib的方法**的文献引用时,如何使用Xelatexpdf的方式完成文献引用。某些文章强调使用PDFlatex进行编译,但有时候会因为论文模板不同,无法运行padflatexPDF。所以,这里给出xe…

常用模块和模板引擎

私人博客 许小墨のBlog —— 菜鸡博客直通车 系列文章完整版,配图更多,CSDN博文图片需要手动上传,因此文章配图较少,看不懂的可以去菜鸡博客参考一下配图! 系列文章目录 前端系列文章——传送门 后端系列文章——传送…

Android---导致OOM的常见原因

目录 内存溢出OOM 单应用可用的最大内存 导致 OOM 的常见原因 内存实时监控 内存溢出OOM 单应用可用的最大内存 dalvik.vm.heapstartsize,它表示堆分配的初始大小。 dalvik.vm.heapgrowthlimit,它表示单个进程内存限定值。 dalvik.vm.heapsize&#…

LeetCode每日一题 1023. 驼峰式匹配 --双指针

Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接 我会一直往里填充内容哒! &…

Vue UI组件库(Element UI库)

1 移动端常用 UI 组件库 1. Vant Vant 4 - 轻量、可定制的移动端组件库 (vant-ui.github.io) 2. Cube UI cube-ui Document (didi.github.io) 3. Mint UI Mint UI (mint-ui.github.io) 2.PC 端常用 UI 组件库 1.Element UI Element - 网站快速成型工具 2.IView UI iView / Vi…

SpringBoot集成WebSocket实现及时通讯聊天功能!!!

1&#xff1a;在SpringBoot的pom.xml文件里添加依赖: <!-- websocket --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dependency> 2&#xff1a;在配置中…

C++简单工厂模式

目录 什么是简单工厂模式 简单工厂模式的实现 总结 什么是简单工厂模式 简单工厂模式是一种创建型设计模式&#xff0c;它提供了一种创建对象的最佳方式。在软件开发中&#xff0c;我们经常需要创建各种各样的对象&#xff0c;但是直接使用 new 关键字来创建对象会使代码变得…

Node http模块

文章目录Node http模块概述创建http服务获取请求报文练习搭建http服务url模块解析url操作url设置响应报文练习搭建网页Node http模块 概述 http模块提供了创建 HTTP 服务器和客户端的功能。 创建http服务 // 导入http模块 const http require("http");// 创建服…

React | React的JSX语法

✨ 个人主页&#xff1a;CoderHing &#x1f5a5;️ Node.js专栏&#xff1a;Node.js 初级知识 &#x1f64b;‍♂️ 个人简介&#xff1a;一个不甘平庸的平凡人&#x1f36c; &#x1f4ab; 系列专栏&#xff1a;吊打面试官系列 16天学会Vue 11天学会React Node专栏 &#…

商医通项目总结

一、项目概述 简介 尚医通即为网上预约挂号系统&#xff0c;网上预约挂号是近年开展的一项便民就医服务&#xff0c;旨在缓解看病难、挂号难的就医难题。网上预约挂号全面提供的预约挂号业务从根本上解决了这一就医难题。随时随地轻松挂号&#xff0c;不用排长队 微服务项目…

【数据结构】-归并排序你真正学会了吗??

作者&#xff1a;小树苗渴望变成参天大树 作者宣言&#xff1a;认真写好每一篇博客 作者gitee&#xff1a;gitee 如 果 你 喜 欢 作 者 的 文 章 &#xff0c;就 给 作 者 点 点 关 注 吧&#xff01; 文章目录前言一、递归版本二、非递归版本三、总结前言 今天我们再来将一个…

亮剑「驾舱」产品矩阵,百度要做智能化「卷王」

2023年&#xff0c;汽车智能化开启新一轮加速度。 伴随着汽车行业变革从“电动化”的上半场进入“智能化”的下半场&#xff0c;中国正成为智能驾驶技术领域的引领者和汽车智能化的核心战场。 据高工智能汽车研究院发布的《2023-2025年中国智能汽车产业链市场数据预测报告》预…

用机器学习sklearn+opencv-python过计算型验证码

目录 生成计算型验证码图片 用opencv-python处理图片 制作训练数据集 训练模型 识别验证码 总结与提高 源码下载 在本节我们将使用sklearn和opencv-python这两个库过掉计算型验证码&#xff0c;图片示例如下。 生成计算型验证码图片 要识别验证码&#xff0c;我们就需要…

【计算机图形学】裁剪算法(Cohen-Sutherland算法 中值分割算法 Liang-Barsky算法)

一 实验目的 编写直线段、多边形裁剪算法熟悉Cohen-Sutherland算法、中值分割算法和Liang-Barsky算法的裁剪二 实验算法理论分析Cohen-Sutherland算法&#xff1a; 中值分割算法&#xff1a; 与CS算法一样&#xff0c;首先对直线段端点进行编码&#xff0c;并把线段与窗口的关…