遇到一个下载等待1分钟后报404的问题,怎么解决?
接手一个项目,nginx+tomcat 。服务端接收到导出数据的请求,进入action,因为单表数据量超过千万条,查询很慢,之后还要生成excel文件,再生成zip文件返回文件流予以下载。整个过程需要耗时比较长。在浏览器等待60~63秒时,显示nginx 的错误404。实际上看日志,服务端已经开始处理了。只是不能再1分钟之内返回文件流。怀疑是连接超时,结果看了nginx配置 连接超时时间connection_timeout, read_timeout ,write_timeout 都设置600秒,足够长了。
请问还有什么可能造成这个原因,每次显示404 的时间基本都是60多秒。我认为不是巧合,应该是哪里的设置问题。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
之前也遇到这个问题,tomcat端日志正常,超过2分钟nginx端直接报404,请问怎么绕过?不走nginx代理?
回复
对没走nginx 代理,因为虽然定位到nginx 了,但是不知道确切原因。nginx 的超时时间已经设置的足够长了。
问题解决了,但是原因没找到,直接尝试跳过nginx发现可以下载。因为现在 nginx 下只指向这一台tomcat。所以决定不用nginx了。
谢谢你的回答,因为是接手的,所以短时间不能擅自改动。运营说这个下载以前是好用的。
有没有这种可能性:不立刻下载数据,待后端处理完毕后生成下载链接到页面上再去下载?
有条件的导出,一次几千到几万条
单表千万都要导出???