• Please be aware: Kaspersky Anti-Virus has been deprecated
    With the upgrade to Plesk Obsidian 18.0.64, "Kaspersky Anti-Virus for Servers" will be automatically removed from the servers it is installed on. We recommend that you migrate to Sophos Anti-Virus for Servers.
  • The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.
  • We’re working on enhancing the Monitoring feature in Plesk, and we could really use your expertise! If you’re open to sharing your experiences with server and website monitoring or providing feedback, we’d love to have a one-hour online meeting with you.

Issue Downloads abort after 1gb or a bit later

frankyab

New Pleskian
Hello everyone,

currently I've a medium sized problem. We're running a woocommere store and my customers have some problems with the digital downloads. Our files are quite huge (smallest 4 GB largest 37 GB). For most of our users the download works, however for some the download aborts right at the beginning or at around 1 GB. They all have different ISP and browsers so I think it's mainly to some configuration error on nginx.
The only error in the logs I could find is for example

14644#0: *14184 upstream sent too big header while reading response header from upstream

If also find some post about it also in the documentation, however the changes don't seem to work, I've created a file in /etc/nginx/conf.d with the some of the solutions of this. I've also tried to disable the proxy buffer altogether, sadly I'm not familiar with the nginx configuration at all. So I don't know if this is the issue or I need some changeing someplace else.

If you need more information let me know, I don't know what do provide what could be helpfull at this poin

best wishes
 
Besides what the article mentions, try to edit panel.ini (/usr/local/psa/admin/conf/panel.ini) and add this segment:

Code:
[webserver]
nginxClientMaxBodySize =
without any value after the quotation sign. After this change you need to reconfigure the web server configuration files and restart the web server.
 
Besides what the article mentions, try to edit panel.ini (/usr/local/psa/admin/conf/panel.ini) and add this segment:

Code:
[webserver]
nginxClientMaxBodySize =
without any value after the quotation sign. After this change you need to reconfigure the web server configuration files and restart the web server.
Ok thank you I will try that. I've that line already in panel.ini but with a high value after that, found it also in a different solution. Could you explain why this should be without any value behind the quotation and why in the panel.ini not in /etc/nginx/conf.d?
Also is there a way to check if it is correctly applied after the configuration file and the service is restartet? Also I thought nginxClientMaxBodySize is for uploads to the server?
 
Sorry for the double post, I also see following in the log when a customers downloads the video, but I doesn't know what this means

Code:
2021-12-13 18:43:54    Access    77.xx.xx.xx    206    GET /?download_file=40560&order=wc_order_EnyMWsCKYgCRR&email=xxxx&key=6619b810-7482-4a0a-8606-c1d04c995967 HTTP/1.0    https://de.manurefetish.com/my-account/downloads/    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0    2.38 G    Apache SSL/TLS access
2021-12-13 18:45:14    Access    77.xx.xx.xx    206    GET /?download_file=40560&order=wc_order_EnyMWsCKYgCRR&email=xxxx&key=6619b810-7482-4a0a-8606-c1d04c995967 HTTP/1.0    https://de.manurefetish.com/my-account/downloads/    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0    2.21 G    Apache SSL/TLS access
2021-12-13 18:47:31    Access    77.xx.xx.xx    206    GET /?download_file=40560&order=wc_order_EnyMWsCKYgCRR&email=xxxx&key=6619b810-7482-4a0a-8606-c1d04c995967 HTTP/1.0    https://de.manurefetish.com/my-account/downloads/    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0    1.70 G    Apache SSL/TLS access
2021-12-13 18:53:21    Access    77.xx.xx.xx    206    GET /?download_file=40560&order=wc_order_EnyMWsCKYgCRR&email=xxxx&key=6619b810-7482-4a0a-8606-c1d04c995967 HTTP/1.0    https://de.manurefetish.com/my-account/downloads/    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0    457 M    Apache SSL/TLS access
2021-12-13 18:55:16    Access    77.xx.xx.xx    206    GET /?download_file=40560&order=wc_order_EnyMWsCKYgCRR&email=xxxx&key=6619b810-7482-4a0a-8606-c1d04c995967 HTTP/1.0    https://de.manurefetish.com/my-account/downloads/    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0    206 M    Apache SSL/TLS access
2021-12-13 18:55:40    Access    77.xx.xx.xx    206    GET /?download_file=40560&order=wc_order_EnyMWsCKYgCRR&email=xxxx&key=6619b810-7482-4a0a-8606-c1d04c995967 HTTP/1.0    https://de.manurefetish.com/my-account/downloads/    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0    148 M    Apache SSL/TLS access

Why are there so many request while the file is handled by nginx and what do they mean? Is this because of mozilla, is mozilla sending a partial request and because of some settings in nginx or php at some point it times out and the download aborts? Also what's the meaning of the size behind this request, is this the size loaded or requested by that call?
 
Ok thank you I will try that. I've that line already in panel.ini but with a high value after that, found it also in a different solution. Could you explain why this should be without any value behind the quotation and why in the panel.ini not in /etc/nginx/conf.d?
Also is there a way to check if it is correctly applied after the configuration file and the service is restartet? Also I thought nginxClientMaxBodySize is for uploads to the server?
I do not remember why it is important to omit a specific size. It is a setting that has been created in our environment many years ago. I only remember, that this was necessary to enabled "unlimited" download sizes. When Plesk reconfigures web server configuration files (recreates the files), it uses such configuration values to write them into the Plesk maintained web server configuration files, but I am no sure if that is written to nginx.conf or another .conf file in the /etc/nginx directory. However, i am pretty sure that making the setting in the panel.ini file is not enough. You will need to reconfigure the web server configuration files afterwards, e.g. using "Web Server Configuration Trouble Shooter".
 
Ok that's interesting, should these

Code:
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
proxy_buffers 8 16k;
proxy_buffer_size 32k;

also go in to the panel.ini or are these unrealted to the issue with the download?
 
Why are there so many request while the file is handled by nginx and what do they mean? Is this because of mozilla, is mozilla sending a partial request and because of some settings in nginx or php at some point it times out and the download aborts? Also what's the meaning of the size behind this request, is this the size loaded or requested by that call?
206 means the client requested partial content. From the timing it looks like it was not an attempt to download chunks in parallel, but the download failed and was restarted by Mozilla (or the user clicked on Retry). If that is the case, there should also be the initial request with a 200 response code a bit before those log excerpts. Size should be what is transferred. Do these add up to the real file size?
I assume those files are not really in the filesystem but are served by php or something (upstream)? If so, is there anything in the php logs at timestamps corresponding to the above log, like a worker restarting or a script killed for taking too much time or memory?
 
Back
Top