Nginx多次请求后端问题

Nginx多次请求后端问题

前言
项目中,由于经常和三方联调接口,使用到了nginx做负载均衡(其实主要是为了方便做网络策略访问)。之前的联调一直很顺利,直到。。。。

问题产生

需求要求我们对之前的代码块进行修改,需要查询另外几个接口得到参数然后返回给三方(所以耗时会增加很多很多)。

接到需求后,一通分析,简单的很嘛~
写代码,自测(每次涉及到三方就有网络问题,为了避免头疼,sit就没去管三方是否收到啥的,自己玩就好了),组报文ok,测试通过~上uat转测。

于是!!!
联调过程中由于数据量太大,查询接口需要很久(在业务接收范围内),出现场景:

客户端发送一次请求,服务端(后台应用)接收到两次请求,并处理两次返回。

莫名其妙的问题,当然甩锅给三方的同事。然而,三方同事也一脸懵逼,这怎么可能是我的问题???他也不管。你不管我不管,业务来管了!!!

在业务的催促下我开始了问题排查,我看了下耗时,一次请求超过了1min(特慢),然后两次请求间隔时间竟然正好1min!!!
这???难道是巧合,查了之后发现,nginx是默认60s会

再次发送一次请求!!!

ok,问题解决了,修改时间,在nginx.conf中修改server节点下:
增加:porxy_connect_timeout 600;
porxy_read_timeout 600;
porxy_send_timeout;

问题解决???

ok,问题是解决了一个
可是三方式说他们程序报错了???

unexpected end of file from server

查了半天资料,说是要设置porxy_read_timeout ,可是我已经设置了啊!
(三方发送使用的http,我nginx是用tcp配置的监听,但这没啥影响)
于是我改成了http的配置监听,依旧不行(所以,http和tcp,其实都可以用http)
看到一个帖子,在server节点下增加keepalive_timeout 600;
其他参数放在location节点下
问题解决!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值