最近java项目中遇到将数据导出到excel时,nginx服务器请求超时504情况。因为多个java项目所以使用nginx反向代理到后端服务器.
nginx服务器请求超时问题一般是tomcat后端服务器处理反应时间超过了nginx限制的请求时间。
解决办法是:
优化自身java代码,将运行tomcat反应时长小于nginx限制请求时长.。
反之将nginx请求时长加大
nginx配置
proxy_connect_timeout 链接超时默认值 60s
proxy_send_timeout 这个指定设置了发送请求给upstream服务器的超时时间 默认60s
proxy_read_timeout 该指令设置与代理服务器的读超时时间。它决定了nginx会等待多长时间来获得请求的响应 默认
60s
修改为
proxy_connect_timeout 1800s; ##修改成半个小时
proxy_send_timeout 1800s;
proxy_read_timeout 1800s;