title: Random HTTP 408 on POST requests and no body is transferred
body: <p>Some time ago we have noticed a number of HTTP 408 in the nginx connections log. All such requests are POST requests with a request time equal to nginx client_body_timeout. We have gathered a tcp dump and decrypt tls traffic. It looks like the client starts a request, sends headers with specied non-zero content-length header but then after a delimeter between headers and a body there is no data transmitted at all from the client side. Nginx politely waits for any data and after a period equal to client_body_timeout gently closes the connection.
  Could anyone clarify what could  be the cause of such behavior?
  Some additional information:</p>
  <ul>
  <li>nginx version is 1.20.2 and the problem persists for a year or more.</li>
  <li>The problem is sporadical. There is no dependence with daily load peaks but it looks like that some client's ip have such error more frequently that others.</li>
  <li>Daily average number of HTTP 408 is ~1k per 110M of total POST requests.</li>
  <li>The problem persists on different hosts, with different nginx instances and different services.</li>
  <li>We tried to forward traffic through amazon alb but the problem persists.</li>
  <li>The requests which lead to HTTP 408 are sent via firefox, chrome and our ios and android applications.</li>
  <li>We cant reproduce the problem via tests even generating a large number of identical to client requests sent via jmeter.</li>
  <li>The problem has very little impact on client's experience as we have no complains about these errors.</li>
  </ul>