Drupal and Me: Chapter 8 – Large File uploads causing Server connection to ResetJul 6th, 2010 | By admin | Category: Technology
Well this was a jolly good problem that took 4 hours to fix.
I’ve implemented the Audio Module this week to allow our Sound team to upload soundtrack, foley and effects work just the same as the 2D and 3D guys upload their work. Unfortunately when I went to upload a 40MB .ogg file the connection to the server was reset pretty much exactly after 60 seconds. So, easy enough I figured I’d just have to go into my php.ini file and change the max upload sizes, max connection times and all of that fun stuff. Well I went through and changed every conceivable directive in there that had anything to do with connection times and upload sizes. Nada! I created .htaccess files in the /drupal dir with php_values to the same effect.. Nada! I went to one of my wordpress blogs and tried to upload the same file and guess what? SAme thing happened, re-assuring me that this wasn’t a drupal only problem. So I tried increasing the Timeout value in apache, nada. Got onto IRC on #php and no one had a clue. Hours and hours of googling led to ZERO solutions. It wasn’t until I decided to try this in Opera instead of Firefox that I was able to get a glimmer of understanding as to what was going on. Just to once again re-iterate how much better of a browser Opera is than firefox, how exponentially better in every conceivable way except for compatability, Opera is compared to firefox, it took me 30 seconds to figure out and solve this problem once I had opera loading the pages. Instead of just sending me a nebulous Server Connection Reset error after 60 seconds like FF did, Opera immediately spat out a 413 Error ‘Entity too large’. Why Firefox didn’t touch on client_max_body_size 300M;
this at all, ever is beyond me but it was a simple matter of going into my nginx.conf file and “setting client_max_body_size” to 300M and the problem was solved.
Sooo, if you are experiencing a Connection reset error while trying to upload files and you just happen to be running Nginx go and check out your nginx.conf file and make sure client_max_body_size is set nice and high.