当前位置:   article > 正文

【nginx出现504错误的原因分析及解决】_nginx 504

nginx 504

项目场景:

nginx代理到后端应用(java)


问题描述

接口出现504 (Gateway Time-out)错误,即网关超时


原因分析:

1、接口响应慢,优化程序。
2、nginx的proxy超时时间配置,比如nginx配置的超时时间为60s,而后端应用需要100s才能返回。


解决方案:

通过本地排查发现,接口响应需要80s左右,而nginx配置的超时时间是65s。
由于历史原因,程序优化代价过大,所以采用增加nginx超时时间的方式。

先看下nginx使用的是什么协议(proxy/fastcgi):

(可以根据需求将以下配置加在http或server或location模块)

如果使用proxy_pass进行请求转发,那我们就配置proxy相关的参数:

proxy_connect_timeout    100;  #nginx跟后端服务器连接超时时间(代理连接超时)默认60s
proxy_read_timeout       100; #后端服务器数据回传时间(代理发送超时)默认值60s
proxy_send_timeout       100;  #连接成功后,后端服务器响应时间(代理接收超时)默认值60s
  • 1
  • 2
  • 3

如果使用fastcgi_pass进行请求转发,那就配置fastcig相关的参数:

fastcgi_connect_timeout 1800s;#nginx跟后端服务器连接超时时间(代理连接超时)默认60s
fastcgi_send_timeout 1800s;#后端服务器数据回传时间(代理发送超时)默认值60s
fastcgi_read_timeout 1800s;#连接成功后,后端服务器响应时间(代理接收超时)默认值60s
  • 1
  • 2
  • 3

修改完重启nginx生效

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号