nginx反向代理60s超时报错问题解决
情况描述:由于网络原因,必须经过反向代理去分发不同的服务功能,同时由于代理的服务特殊,执行时间通常会很长,所以超过60秒就会报错。经排查,未经由nginx反向代理,直接访问代理服务并不会出现60超时问题。报错内容:
An error occurred.
Sorry, the page you are looking for is currently unavailable.
Please try again later.
If you are the system administrator of this resource then you should check the error log for details.
Faithfully yours, nginx.
报错如图:

原因分析和处理:网上百度说是nginx超时问题引起的,然后找到很多关于长连接keepalive_timeout,客户端请求体响应时间client_body_timeout,响应时间send_timeout,客户端消息头读取时间client_header_timeout等参数的配置,但是经过测试,均无效果。
后增加了proxy_read_timeout参数,设置了超过60秒,问题解决。

参数解释:
nginx中的proxy_read_timeout指令用于设置代理连接的超时时间。当nginx作为代理服务器转发请求给后端服务器时,如果后端服务器在指定的时间内没有响应,nginx将终止连接并返回错误。
该指令的默认值为60秒,可以根据需要进行调整。较短的超时时间可以更快地检测到后端服务器的故障,但同时也可能因为服务器响应时间过长而误判为故障。较长的超时时间则可以容忍后端服务器的响应延迟,但也会增加客户端请求的等待时间。
需要注意的是,proxy_read_timeout指令只控制读取响应的超时时间,不包括与后端服务器建立连接的时间。如果需要设置连接超时时间,可以使用proxy_connect_timeout指令。
到此这篇关于nginx反向代理60s超时报错问题解决的文章就介绍到这了,更多相关nginx反向代理超时报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
nginx FastCGI错误Primary script unknown解决办法
这篇文章主要介绍了nginx错误Primary script unknown解决办法,需要的朋友可以参考下2014-03-03
nginx配置location总结location正则写法及rewrite规则写法
本文详细讲述了Nginx location正则写法,Nginx 的Rewrite规则以及Nginx.conf中if指令与全局变量2018-10-10
Nginx(PHP/fastcgi)的PATH_INFO问题
PATH_INFO是一个CGI 1.1的标准,经常用来做为传参载体. 比如, 我们可以使用PATH_INFO来代替Rewrite来实现伪静态页面, 另外不少PHP框架也使用PATH_INFO来作为路由载体.2011-08-08
nginx-ingress-controller日志持久化方案的解决
这篇文章主要介绍了nginx-ingress-controller日志持久化方案的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-03-03
CentOS 7.3.1611编译安装Nginx1.10.3+MySQL5.7.16+PHP7.1.2
这篇文章主要介绍了CentOS 7.3.1611编译安装Nginx1.10.3+MySQL5.7.16+PHP7.1.2,需要的朋友可以参考下2018-01-01


最新评论