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指令。

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值