HTTP 504 错误 – 网关超时 (Gateway timeout)
出现原因:
项目配置了Nginx进行反向代理;
在SQL查询时数据量较大,导致后台动态生成Excel的过程较长,所以前端在发送请求后等待响应的,这里实际上是Nginx方向代理后请求后台接口,而Nginx的请求后在要求的时间内得不到后台的响应,所以会跳转504界面。
解决方案:
在对应的Nginx配置文件中进行配置参数的时长:
fastcgi_connect_timeout 1200s;#原设置为300s
fastcgi_send_timeout 1200s;#原设置为300s
fastcgi_read_timeout 1200s;#原设置为300s
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;
如果使用了Nginx反向代理还需要配置下面的参数:
proxy_connect_timeout 300s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
具体的时长可以根据需要进行修改,但是如果需要从实际上解决查询慢的问题需要对代码和SQL进行优化
本文解析了HTTP504错误的原因,通常由于Nginx反向代理请求超时引起,尤其是在大量数据处理时。文章提供了调整Nginx配置参数的具体方法,并建议优化代码和SQL查询来从根本上解决问题。
677

被折叠的 条评论
为什么被折叠?



