由于客户端 body 超时,nginx 上有很多 408

A lot of 408 on nginx due to client body timeout

我是 运行 后端服务器,在 ubuntu 12.04 上的 nginx 1.6.2 后面安装了 gunicorn。

最近我注意到 nginx 日志中有很多关于上传 (POST) 请求和更改 nginx 配置中的各种超时的 408,我知道这是由于 client_body_timeout。

在服务器端使用 tcpDump 看起来客户端在初始 SYN 和 SYNACK 数据包之后没有发送任何东西,并且在客户端 body 超时时间之后服务器尝试通过发送 FIN ACK 关闭连接,但是客户端没有 ACK 并且服务器进入了它的重传策略。

我是否遗漏了什么或需要添加任何 HTTP header 或需要配置任何 tcp 参数

我发现了问题。 使用客户端 tcpdump n 发现只有小尺寸的 tcp 段到达客户端。 将 mss 减少到 1200,它对我有用:)。不知道这是否是正确的方法。