zoukankan      html  css  js  c++  java
  • 接口重复请求报错问题排查

    背景:接口多次连续请求,客户端会收到服务端的400的错误,但是单次请求是可以成功

    因为从服务中看,报错400 并不是服务暴露出来的,服务没有日志  但是从nginx中已经看到有错误了,肯定发送给了服务,只是这个400,并不是测试的服务返回到,应该是底层返回的

    排查问题,最初怀疑客户端的数据有问题,(因为客户端要对头部文件进行加密,担心加密是不是有变化):

    1.客户端抓包先查看数据,正常的数据流(红色是客户端的请求,服务端是蓝色的返回)

    报错时的数据流(红色是客户端的请求,服务端是蓝色的返回)

     从上面看出来客户端在出错或者是正确返回时,数据的头部和内容都一致,基本可以排除是客户端的问题

    2.另外一方面开发还是没有找到解决问题的原因,我在使用tcpdump 抓服务端的日志,看服务端是否有数据变化,从这里的追踪流也没有发现什么问题

     

    3 最后还是排查nginx的问题

     这是我配置的nginx,我尽量注释干扰的配置文件

     

     最后注释掉forwarded-user 这个头部文件就正常了 ,目前对这个forwarded了解不是很深,自我理解他就是做负载均衡的,请求过大是帮我转到其他服务了,且头部文件的内容有不正确,目前没有深究这个问题,留下当一个思考题

  • 相关阅读:
    RPC框架实践之:Apache Thrift
    ubuntu中安装hadoop集群
    前端开发浏览器兼容问题
    3亿(int)数据-2亿(int)数据 求差集
    mvn docker 部署 每次都需要下载包的问题
    树莓派操作记录
    mysql 实现类似开窗函数的功能
    mysql 多字段更新
    go proxy转发工作中碰到的问题
    之前项目使用的轻量的goweb框架
  • 原文地址:https://www.cnblogs.com/chongyou/p/13810864.html
Copyright © 2011-2022 走看看