I just investigated on Xenial, and this problem appears not to exist there. The behaviour is the same (SYN+ACK retransmission after TCP_DEFER_ACCEPT timeout), but this time nginx correctly continues the connection. So it seems that this was fixed somewhere between trusty and xenial.
I just investigated on Xenial, and this problem appears not to exist there. The behaviour is the same (SYN+ACK retransmission after TCP_DEFER_ACCEPT timeout), but this time nginx correctly continues the connection. So it seems that this was fixed somewhere between trusty and xenial.
For the fixed version:
lsb_release -rd:
Description: Ubuntu 16.04.1 LTS
Release: 16.04
apt-cache policy nginx: 0ubuntu0. 16.04.2 0ubuntu0. 16.04.2 0ubuntu0. 16.04.2 500 mirrors. digitalocean. com/ubuntu xenial-updates/main amd64 Packages mirrors. digitalocean. com/ubuntu xenial-updates/main i386 Packages security. ubuntu. com/ubuntu xenial- security/ main amd64 Packages security. ubuntu. com/ubuntu xenial- security/ main i386 Packages dpkg/status
1.9.15- 0ubuntu1 500 mirrors. digitalocean. com/ubuntu xenial/main amd64 Packages mirrors. digitalocean. com/ubuntu xenial/main i386 Packages
nginx:
Installed: 1.10.0-
Candidate: 1.10.0-
Version table:
*** 1.10.0-
500 http://
500 http://
500 http://
500 http://
100 /var/lib/
500 http://
500 http://
In essence, this appears to have been fixed in between 1.10.0 and 1.4.6 of nginx.