Nginx 在获取缓存文件时Body被截断

Nginx 设置了 proxy cache。在请求文件时 body 被截断,但是 access 日志是 HIT。

"-" "-" - - 21.264 [time] 200 "GET /filePath&tm=300 HTTP/1.1" 41692520 "-" "Go-http-client/1.1" "-" "HIT"
"-" "-" - - 63.975 [time] 200 "GET /filePath&tm=300 HTTP/1.1" 13434629 "-" "Go-http-client/1.1" "-" "HIT"

请问会是什么原因呢?

邀请回答
提问于 2020-07-23 17:04
438 次浏览
共1个回答

发表评论
  • 陶辉
    2020-07-25 10:57

    是不是HTTP Range请求?

    3
    回复
    举报
    • Salted_fish 2020-07-27 10:45
      不是Range请求的,client 端会一直读 body 直到超时,且读到长度小于 nginx 返回的长度。
      0
      回复
      举报
    • 陶辉 2020-07-27 10:50
      能复现的话,建议在开发环境,把debug日志打开,包括configure时加入--with-debug,以及在location中加入error_log ... debug; 因为在debug日志下,Nginx会把每次发的一批body字符,打印出统计信息。 你观察下,究竟发了多少字节,最后1次间隔了多长时间,又是谁先关连接的,client还是Nginx。 不排除是网络问题。
      0
      回复
      举报
提问者

Salted_fish

暂无个人介绍

  • 0

    文章

  • 0

    粉丝

  • 1

    被赞

Salted_fish
按Enter键发送
您已邀请位用户
版权所有©F5 Networks,Inc.保留所有权利。京ICP备16013763号-5