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

打印 上一主题 下一主题

主题 1025|帖子 1025|积分 3075

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
项目场景:

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相关的参数:
  1. proxy_connect_timeout    100;  #nginx跟后端服务器连接超时时间(代理连接超时)默认60s
  2. proxy_read_timeout       100; #后端服务器数据回传时间(代理发送超时)默认值60s
  3. proxy_send_timeout       100;  #连接成功后,后端服务器响应时间(代理接收超时)默认值60s
复制代码
假如使用fastcgi_pass进行哀求转发,那就配置fastcig相关的参数:
  1. fastcgi_connect_timeout 1800s;#nginx跟后端服务器连接超时时间(代理连接超时)默认60s
  2. fastcgi_send_timeout 1800s;#后端服务器数据回传时间(代理发送超时)默认值60s
  3. fastcgi_read_timeout 1800s;#连接成功后,后端服务器响应时间(代理接收超时)默认值60s
复制代码
修改完重启nginx见效

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

知者何南

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表