I administrate a Jenkins server hosted in the UK, with some users in the US, who access it via a VPN connection. When these users try to download large build artifacts (about 100MB plus) via the Web UI, the downloads fail inconsistently. I was able to reproduce the problem via both Firefox and curl, though it only happens about half of the time.
In Firefox the download is simply marked as "Failed", but Curl reports:
curl: (18) transfer closed with 230849563 bytes remaining to read
Unfortunately neither the amount of time elapsed or the bytes read or remaining are consistent between failures, so I haven't spotted any pattern.
I am able to download the same and much larger files hosted by nginx over the same connection without issue, so it appears to be a problem with the Jenkins server. I haven't been able to find any log entries related to the failures. Does Jenkins log web server access and errors? The nginx reverse proxy in front of it doesn't spot anything amiss.