记一次通过nginx反代网站请求总是超时的问题

摘要:
问题描述公司网站一个页面通过点击“导出数据”来进行数据的导出,后台是通过sql语句进行查询然后再导出为excel文件,因为需要查询数据过多,所以执行起来较慢,每次在等待导出一分钟之后提示网站请求超时。解决思路一开始查看了tomcat的连接超时时长,发现时间为20000ms,所以不是tomcat的问题,因为后台是通过nginx反向代理到tomcat,所以就把问题定位到了nginx。
问题描述

公司网站一个页面通过点击“导出数据”来进行数据的导出,后台是通过sql语句进行查询然后再导出为excel文件,因为需要查询数据过多,所以执行起来较慢,每次在等待导出一分钟之后提示网站请求超时。

解决思路

一开始查看了tomcat的连接超时时长,发现时间为20000ms,所以不是tomcat的问题,因为后台是通过nginx反向代理到tomcat,所以就把问题定位到了nginx。然后尝试了keepalive长连接,proxy_send_timeout和proxy_connect_timeout,发现都不能解决问题。后来查看nginx的错误日志发现如下报错信息:
记一次通过nginx反代网站请求总是超时的问题第1张
定位问题出现于nginx等待tomcat返回请求的时候超时了,然后添加如下参数解决问题:
proxy_read_timeout 300s

总结:

proxy_read_timeout:nginx等待读取上游服务器响应报文的超时时长;
proxy_send_timeout:nginx发送请求报文到上游服务器的超时时长;
proxy_connect_timeout:上游服务器和nginx的连接超时时长;

免责声明:文章转载自《记一次通过nginx反代网站请求总是超时的问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇/etc/profilejs禁止微信浏览器下拉显示黑底查看网址,不影响内部Scroll下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

nginx四层代理

Nginx 四层代理理仅能存在于 main 段,以下是代理的配置 stream {   upstream ssh_proxy {   hash $remote_addr consistent;   server 192.168.1.10:22;      #实际的服务器IP及端口 }   upstream mysql_proxy {   hash $rem...

构建gitlab+Jenkins+harbor+kubernetes的DevOps持续集成持续部署环境

构建gitlab+Jenkins+harbor+kubernetes的DevOps持续集成持续部署环境 整个环境的结构图。 一、准备工作 gitlab和harbor我是安装在kubernetes集群外的一台主机上的。 1.1、设置镜像源 docker-ce.repo [root@support harbor]# cat /etc/yum.repos.d/d...

nginx: 400 Bad Request | The plain HTTP request was sent to HTTPS port

nginx: 400 Bad Request | The plain HTTP request was sent to HTTPS port nginx版本1.0.4  nginx一般情况下配置; server { listen 443; server_name localhost; ssl on; root html;...

nginx做本地目录映射

nginx做本地目录映射 有时候需要访问服务器上的一些静态资源,比如挂载其他设备上的图片到本地的目录,而本地的目录不在nginx根目录下,这个时候就需要简单的做一下目录映射来解决,比如想通过浏览器http://ip/image/2016/04/29/10/abc.jpg访问到系统目录/image_data/2016/04/29/10/abc.jpg需要在n...

Nginx版本平滑升级方案

背景:由于负载均衡测试服务器中nginx版本过低,存在安全漏洞,查询相关修复漏洞资料,需要采取nginx版本升级形式对漏洞进行修复。 Nginx平滑升级方案 1、案例采用版本介绍 旧版本 nginx-1.12.2.tar.gz新版本 nginx-1.20.1.tar.gz 2、nginx-1.12.2版本为当前运行版本 设置端口8080和对主页index...

apache转发规则 + nginx location 正则匹配经典案例

0.apache的proxypass浏览器url不会变 我们想要的效果是请求http://qwyimg.haha.com.cn/......直接返回结果,而不是请求http://qwyimg.haha.com.cn/......返回一个地址,在通过这个返回的地址在去请求拿到结果 ProxyPass "/qiqiao/storage/oss/files/"...